Class: Mundler::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/mundler/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/mundler/config.rb', line 3

def initialize
  @mruby = {
    url: "https://github.com/mruby/mruby",
    branch: "stable"
  }

  @platforms = []
  @gemboxes = []
  @gems = []
  @platform_types = {}
  @library_types = {}
  @env = {}
  @libraries = {}
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



22
23
24
# File 'lib/mundler/config.rb', line 22

def env
  @env
end

#librariesObject (readonly)

Returns the value of attribute libraries.



21
22
23
# File 'lib/mundler/config.rb', line 21

def libraries
  @libraries
end

#library_typesObject (readonly)

Returns the value of attribute library_types.



20
21
22
# File 'lib/mundler/config.rb', line 20

def library_types
  @library_types
end

#mrubyObject (readonly)

Returns the value of attribute mruby.



18
19
20
# File 'lib/mundler/config.rb', line 18

def mruby
  @mruby
end

#platform_typesObject (readonly)

Returns the value of attribute platform_types.



19
20
21
# File 'lib/mundler/config.rb', line 19

def platform_types
  @platform_types
end

Instance Method Details

#gemboxesObject



28
29
30
# File 'lib/mundler/config.rb', line 28

def gemboxes
  @gemboxes.sort!
end

#gemsObject



32
33
34
# File 'lib/mundler/config.rb', line 32

def gems
  @gems.sort_by! { |platform| platform[:name] }
end

#hexObject



24
25
26
# File 'lib/mundler/config.rb', line 24

def hex
  Digest::MD5.hexdigest(to_s)
end

#platformsObject



36
37
38
# File 'lib/mundler/config.rb', line 36

def platforms
  @platforms.sort_by! { |platform| platform[:name] }
end

#to_sObject



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/mundler/config.rb', line 40

def to_s
  <<~HASHABLE
    #{mruby.inspect}
    #{platforms.inspect}
    #{platform_types.keys.sort.inspect}
    #{library_types.keys.sort.inspect}
    #{hashable_string_for_hash(env)}
    #{gemboxes.inspect}
    #{gems.inspect}
    #{hashable_string_for_hash(libraries)}
  HASHABLE
end