Class: Ishapi::Ability

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
app/models/ishapi/ability.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ Ability

Returns a new instance of Ability.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'app/models/ishapi/ability.rb', line 5

def initialize user
  #
  # signed in user
  #
  unless user.blank?

    if user.profile && user.profile.sudoer?
      can :manage, :all
    end

    can [ :update ], ::CoTailors::Address do |address|
      puts [ user.inspect, address.inspect ], '+++ user in cancancan'
      true
    end

    can [ :my_index ], Gallery
    can [ :show ], Gallery do |gallery|
      gallery. == user.profile
    end
    can [ :do_purchase ], ::Gameui

    can [ :create, :unlock ], ::Ish::Payment

    can [ :buy_stars ], ::IshModels::UserProfile

  end
  #
  # anonymous user
  #
  user ||= User.new

  can [ :show ], IshModels::UserProfile

  can [ :index, :show ], City

  can [ :update ], ::CoTailors::Address
  can [ :add ], ::CoTailors::OrderItem
  can [ :create, :update_measurements ], ::CoTailors::Order
  can [ :show ], ::CoTailors::Product

  can [ :index, :show ], Event

  #
  # Ish::P
  #


  #
  # G
  #
  can [ :index ], Gallery
  can [ :show ], Gallery do |gallery|
    gallery.is_public && !gallery.is_trash
  end
  can [ :index, :show ], ::Gameui::Map
  can [ :show ], ::Gameui::Marker

  can [ :index ], Report
  can [ :my_index, :show ], Report do |report|
    report.is_public
  end

  can [ :fb_sign_in, :long_term_token, :open_permission, :welcome_home ], Ishapi

  can [ :index, :show ], Site

  can [ :index ], Tag
  can [ :show ], Tag do |tag|
    tag.is_public
  end

  #
  # V
  #
  can [ :index ], Venue
  can [ :show ], Venue do |venue|
    venue.is_public
  end
  can [ :index, :my_index ], Video
  can [ :show ], Video do |video|
    video.is_public
  end
end