Sha256: 03b58d2ee8c1a3de80f885431ba13c4aeb9e58faa51fb59cd9f1c1b9b86cb85a

Contents?: true

Size: 886 Bytes

Versions: 8

Compression:

Stored size: 886 Bytes

Contents

class Evil::Client
  #
  # Contains schema and settings of some scope along with methods
  # to initialize its sub-[#scopes] and [#operations]
  #
  class Container::Scope < Container
    include Chaining

    # The collection of named sub-scope constructors
    # @return [Hash<Symbol, Evil::Client::Container::Scope::Builder>]
    def scopes
      @scopes ||= \
        schema.scopes.each_with_object({}) do |(key, sub_schema), obj|
          obj[key] = Builder::Scope.new(sub_schema, settings)
        end
    end

    # The collection of named operations constructors
    # @return [Hash<Symbol, Evil::Client::Container::Operation::Builder>]
    def operations
      @operations ||= \
        schema.operations.each_with_object({}) do |(key, sub_schema), obj|
          next unless key
          obj[key] = Builder::Operation.new(sub_schema, settings)
        end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
evil-client-3.0.2 lib/evil/client/container/scope.rb
evil-client-3.0.1 lib/evil/client/container/scope.rb
evil-client-3.0.0 lib/evil/client/container/scope.rb
evil-client-2.1.1 lib/evil/client/container/scope.rb
evil-client-2.1.0 lib/evil/client/container/scope.rb
evil-client-2.0.0 lib/evil/client/container/scope.rb
evil-client-1.1.0 lib/evil/client/container/scope.rb
evil-client-1.0.0 lib/evil/client/container/scope.rb