Sha256: f95f1067b9039b8fef261820fe8b156466fc6105b37e3512f6e31d6fa230cf5b

Contents?: true

Size: 1.73 KB

Versions: 27

Compression:

Stored size: 1.73 KB

Contents

class Ishapi::Ability
  include ::CanCan::Ability

  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 == 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
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
ishapi-0.1.8.162 app/models/ishapi/ability.rb
ishapi-0.1.8.161 app/models/ishapi/ability.rb
ishapi-0.1.8.160 app/models/ishapi/ability.rb
ishapi-0.1.8.159 app/models/ishapi/ability.rb
ishapi-0.1.8.158 app/models/ishapi/ability.rb
ishapi-0.1.8.157 app/models/ishapi/ability.rb
ishapi-0.1.8.156 app/models/ishapi/ability.rb
ishapi-0.1.8.155 app/models/ishapi/ability.rb
ishapi-0.1.8.154 app/models/ishapi/ability.rb
ishapi-0.1.8.153 app/models/ishapi/ability.rb
ishapi-0.1.8.151 app/models/ishapi/ability.rb
ishapi-0.1.8.150 app/models/ishapi/ability.rb
ishapi-0.1.8.149 app/models/ishapi/ability.rb
ishapi-0.1.8.148 app/models/ishapi/ability.rb
ishapi-0.1.8.147 app/models/ishapi/ability.rb
ishapi-0.1.8.146 app/models/ishapi/ability.rb
ishapi-0.1.8.145 app/models/ishapi/ability.rb
ishapi-0.1.8.144 app/models/ishapi/ability.rb
ishapi-0.1.8.143 app/models/ishapi/ability.rb
ishapi-0.1.8.142 app/models/ishapi/ability.rb