class Pettanr.Operator\r
\r
- initialize: (operators) ->\r
+ constructor: (operators) ->\r
@operators = operators\r
+ @user = @find_user()\r
+ @author = @find_author()\r
+ @artist = @find_artist()\r
+ @admin = @find_admin()\r
\r
#InstanceMethods\r
find_user: () ->\r
- _.each @operators, (operator) ->\r
- return operator if operator instanceof Pettanr.User\r
- return operator.user if operator instanceof Pettanr.Author\r
- return operator.user if operator instanceof Pettanr.Artist\r
- nil\r
+ _.find @operators, (operator) ->\r
+ console.log operator.constructor.name\r
+ Pettanr[operator.constructor.name] == Pettanr.User\r
\r
find_author: () ->\r
- _.each @operators, (operator) ->\r
- return operator if operator instanceof Pettanr.Author\r
- return operator.author if operator instanceof Pettanr.User\r
- return operator.user.author if (operator instanceof Pettanr.Artist) and operator.user.author\r
- nil\r
+ _.find @operators, (operator) ->\r
+ Pettanr[operator.constructor.name] == Pettanr.Author\r
\r
find_artist: () ->\r
- _.each @operators, (operator) ->\r
- return operator.user.artist if (operator instanceof Pettanr.Author) and operator.user.artist\r
- return operator.artist if operator instanceof Pettanr.User\r
- return operator if operator instanceof Pettanr.Artist\r
- nil\r
+ _.find @operators, (operator) ->\r
+ Pettanr[operator.constructor.name] == Pettanr.Artist\r
\r
find_admin: () ->\r
- _.each @operators, (operator) ->\r
- return operator if operator instanceof Pettanr.Admin\r
- nil\r
- \r
- user: () ->\r
- return @user if @user\r
- @user = @find_user()\r
- \r
- author: () ->\r
- return @author if @author\r
- @author = @find_author()\r
- \r
- artist: () ->\r
- return @artist if @artist\r
- @artist = @find_artist()\r
- \r
- admin: () ->\r
- return @admin if @admin\r
- @admin = @find_admin()\r
+ _.find @operators, (operator) ->\r
+ Pettanr[operator.constructor.name] == Pettanr.Admin\r
\r
is_guest: () ->\r
true\r
\r
is_reader: () ->\r
- _.each @operators, (operator) ->\r
- return true if (operator instanceof Pettanr.Author) or (operator instanceof Pettanr.Artist) or (operator instanceof Pettanr.Admin) or (operator instanceof Pettanr.User)\r
+ return true if @author or @artist or @admin or @user\r
false\r
\r
is_user: () ->\r
- _.each @operators, (operator) ->\r
- return true if (operator instanceof Pettanr.Author) or (operator instanceof Pettanr.Artist) or (operator instanceof Pettanr.User)\r
+ return true if @author or @artist or @user\r
false\r
\r
is_resource_reader: () ->\r
- _.each @operators, (operator) ->\r
- return true if (operator instanceof Pettanr.Author) or (operator instanceof Artist) or (operator instanceof Pettanr.Admin) or (operator instanceof Pettanr.User) or (operator instanceof Pettanr.DemandUser)\r
+ return true if @author or @artist or @admin or @user or @demand_user\r
false\r
\r
is_admin: () ->\r
- _.each @operators, (operator) ->\r
- return true if operator instanceof Pettanr.Admin\r
+ return true if @admin\r
false\r
\r