Sha256: d688fbfbd1e059d262ab5d3c347a106dd36e4f57bd1db60a4fba3029461e9763

Contents?: true

Size: 371 Bytes

Versions: 9

Compression:

Stored size: 371 Bytes

Contents

module Neo
  module DCI
    module Data
      # Enhances an object with the Role +role+.
      def role_as(role, *params)
        if role.assignable_to?(self, *params)
          extend role
          role.role_assigned(self, *params)
          self
        else
          raise Neo::DCI::Role::NotAssignable.new role, self, params
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
neo-dci-0.6.0 lib/neo/dci/data.rb
neo-dci-0.5.1 lib/neo/dci/data.rb
neo-dci-0.5.0 lib/neo/dci/data.rb
neo-dci-0.4.1 lib/neo/dci/data.rb
neo-dci-0.4.0 lib/neo/dci/data.rb
neo-dci-0.3.0 lib/neo/dci/data.rb
neo-dci-0.2.0 lib/neo/dci/data.rb
neo-dci-0.1.0 lib/neo/dci/data.rb
neo-dci-0.0.1 lib/neo/dci/data.rb