Module: Manioc

Defined in:
lib/manioc.rb,
lib/manioc/env.rb,
lib/manioc/struct.rb,
lib/manioc/railtie.rb,
lib/manioc/version.rb,
lib/manioc/container.rb

Defined Under Namespace

Classes: Container, Env, Railtie, Struct

Constant Summary collapse

VERSION =
'0.1.7'.freeze

Class Method Summary collapse

Class Method Details

.[](*fields, **defaults) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/manioc/struct.rb', line 3

def [] *fields, **defaults
  fields = (fields + defaults.keys).uniq

  Class.new Struct do
    define_singleton_method(:fields  ) { fields }
    define_singleton_method(:defaults) { defaults }

    fields.each do |field|
      attr_reader field
    end
  end
end

.frozen=(val) ⇒ Object



16
17
18
# File 'lib/manioc/struct.rb', line 16

def frozen= val
  @frozen = val
end

.frozen?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/manioc/struct.rb', line 19

def frozen?
  @frozen
end