bodhi-slam 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9e09a87b26acc4339643d71bf277dad6594e7ab4
4
- data.tar.gz: 2e9a4a7d6c16223aeb5048f7db9ad62f67b16432
3
+ metadata.gz: 2740f7bb58fef86f5fcb168c16736c0c043f7825
4
+ data.tar.gz: 5211d0755728d31d4ffdf18ad60f755511b8eccc
5
5
  SHA512:
6
- metadata.gz: b0bab9be47dc879b044428bd45ec76717d2bd0b9e75f14db089bd3d0777c53ee0ff8590ce0d4032cb507876b66c8fa460aa0e559d19cf79473b2421c4941d78e
7
- data.tar.gz: b7be96e86df8a30bdc2692a025a873c68a5f6574badaa80a3bfc272de81a1adac11e857b6128f394d714e043d1a7e15c8d25ca321b6808d265b15315ac9ae0af
6
+ metadata.gz: 7a650291911ad699c807cf808b4dde162146cf395ab18e2c47057400956743cc0f8091a7ced958b048ffc55b9e3b2e8aa88977e1142c64c12cb9d0549d2dead5
7
+ data.tar.gz: 089278eff165608ff8f4bc45858aa678f22cf32ce9eda6d68828a6595dd32496fe66a3a61c4898b6630738732ebbd31bb9ba8b726d0eb212e766a06879f5917c
@@ -29,12 +29,10 @@ module Bodhi
29
29
  # Resource.factory.build(name: "test") # => #<Resource:0x007fbff403e808 @name="test">
30
30
  def build(options={})
31
31
  options = Bodhi::Support.symbolize_keys(options)
32
- object = klass.new(bodhi_context: options[:bodhi_context])
32
+ object = klass.new(options)
33
33
 
34
34
  @generators.each_pair do |attribute, generator|
35
- if options.has_key?(attribute)
36
- object.send("#{attribute}=", options[attribute])
37
- else
35
+ unless options.has_key?(attribute)
38
36
  object.send("#{attribute}=", generator.call)
39
37
  end
40
38
  end
@@ -20,6 +20,7 @@ module Bodhi
20
20
  def id; @sys_id; end
21
21
  def persisted?; !@sys_id.nil?; end
22
22
  def new_record?; @sys_id.nil?; end
23
+ def each; attributes.each{ |k, v| yield(k, v) }; end
23
24
 
24
25
  # Initializes a new instance of the class. Accepts a parameter Hash for mass assignment.
25
26
  # If a parameter does not exist for the class, an UndefinedMethod error is raised.
@@ -33,6 +34,10 @@ module Bodhi
33
34
  # object.name #=> "Bob"
34
35
  # object.email #=> "some@email.com"
35
36
  def initialize(options={})
37
+ if options.is_a?(String)
38
+ options = JSON.parse(options)
39
+ end
40
+
36
41
  options = Bodhi::Support.symbolize_keys(options)
37
42
  options.each do |property, value|
38
43
  property_options = self.class.properties[property]
@@ -93,7 +98,7 @@ module Bodhi
93
98
 
94
99
  def self.included(base)
95
100
  base.extend(ClassMethods)
96
- base.include(InstanceMethods)
101
+ base.include(InstanceMethods, Enumerable)
97
102
  base.instance_variable_set(:@properties, Hash.new)
98
103
  end
99
104
  end
@@ -1,6 +1,5 @@
1
1
  module Bodhi
2
2
  class TypeIndex
3
- include Enumerable
4
3
  include Bodhi::Properties
5
4
  include Bodhi::Validations
6
5
 
@@ -9,9 +8,5 @@ module Bodhi
9
8
 
10
9
  validates :keys, required: true, multi: true, type: "String"
11
10
  validates :options, type: "Object"
12
-
13
- def each
14
- self.attributes.each{ |k, v| yield(k, v) }
15
- end
16
11
  end
17
12
  end
@@ -28,7 +28,6 @@ module Bodhi
28
28
  validates :properties, required: true
29
29
  validates :indexes, type: "Bodhi::TypeIndex", multi: true
30
30
 
31
- generates :extends, type: "String", matches: "[a-zA-Z_-]{10,20}"
32
31
  generates :name, type: "String", required: true, is_not_blank: true
33
32
  generates :namespace, type: "String", required: true
34
33
  generates :properties, type: "Object", required: true
data/lib/bodhi-slam.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "json"
2
2
  require "time"
3
3
  require 'faraday'
4
+ require 'SecureRandom'
4
5
  require 'faraday_middleware'
5
6
  require 'net/http/persistent'
6
7
  require 'regexp-examples'
@@ -39,10 +40,7 @@ class BodhiSlam
39
40
  end
40
41
 
41
42
  def self.define_resources(context, options={})
42
- # symbolize keys for the options hash
43
- options = options.reduce({}) do |memo, (k, v)|
44
- memo.merge({ k.to_sym => v})
45
- end
43
+ options = Bodhi::Support.symbolize_keys(options)
46
44
 
47
45
  if context.invalid?
48
46
  raise Bodhi::ContextErrors.new(context.errors.messages), context.errors.to_a.to_s
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bodhi-slam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - willdavis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-14 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday