soulless 0.5.0 → 0.5.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: 615a453828093d6ce2cbcab5b32fc65440e0a42a
4
- data.tar.gz: f1c6bf566a4ddb0e76a10eb37ff494970feba49c
3
+ metadata.gz: b5f1fdf92746ec9e608ea04972dc9bccca8e7dbb
4
+ data.tar.gz: 4f85870777d309a49b95e1183537cfde8fb5abca
5
5
  SHA512:
6
- metadata.gz: c7e467d9ad1ab576025944da5cefc86ef864b42e12801bb492429026a957907d41af6239cdf461d17c22dc816e2a2df736efba6da568bff2d87a66e07aebaff7
7
- data.tar.gz: 4533c9bea37d3786bf700922315d749e12228de08bd3ad4ffbd9c8ab91a93616aee63d72bec4c1068418ea2ca25af48faeff110d5dc4655584cedf4e2c7d6cec
6
+ metadata.gz: 76939041a34437f9cda7a52bde28c203f11964f29404ae1c6e5714e340594331f31449eadba64fc17320fe0bfd10258496d96f8277c02f8412045145e9279d6a
7
+ data.tar.gz: 3c03f011a6027fd83c33a26044f62fde6dbb81401cb2f0dbb9ce5b11edfaf93aa06d02b8ca1b2a2abd3d60fc34ecf3bfe6b90d6d1f3db599b56ee22836896f92
@@ -4,7 +4,7 @@ module Soulless
4
4
  base.instance_eval do
5
5
  def inherit_from(klass, options = {})
6
6
  attributes = get_attributes(klass, options)
7
-
7
+
8
8
  attributes.each do |attribute|
9
9
  self.attribute(attribute[:name], attribute[:primitive], attribute[:options])
10
10
  if Object.const_defined?('ActiveModel'.to_sym) && klass.ancestors.include?(ActiveModel::Validations)
@@ -12,7 +12,7 @@ module Soulless
12
12
  end
13
13
  end
14
14
  end
15
-
15
+
16
16
  private
17
17
  def get_attributes(klass, options)
18
18
  if klass.ancestors.include?(Virtus::Model::Core)
@@ -21,7 +21,7 @@ module Soulless
21
21
  get_active_record_attributes(klass, options)
22
22
  end
23
23
  end
24
-
24
+
25
25
  def get_virtus_attributes(klass, options)
26
26
  attributes = []
27
27
  attribute_set = klass.attribute_set
@@ -40,7 +40,7 @@ module Soulless
40
40
  end
41
41
  attributes
42
42
  end
43
-
43
+
44
44
  def get_active_record_attributes(klass, options)
45
45
  attributes = []
46
46
  attribute_names = get_attribute_names(klass.attribute_names.dup, options)
@@ -53,7 +53,7 @@ module Soulless
53
53
  options: {}
54
54
  }
55
55
  attribute[:primitive] = translate_primitive(column.type) if column
56
- attribute[:options] = { default: column.default } if column &&
56
+ attribute[:options] = { default: column.default } if column &&
57
57
  (options[:use_database_default] == true ||
58
58
  options[:use_database_default] == attribute_name ||
59
59
  (options[:use_database_default].kind_of?(Array) &&
@@ -63,7 +63,7 @@ module Soulless
63
63
  end
64
64
  attributes
65
65
  end
66
-
66
+
67
67
  def setup_validators(attribute_name, klass, options)
68
68
  return if skip_validators?(attribute_name, options) || !include_attribute?(attribute_name, options)
69
69
  klass.validators.each do |validator|
@@ -82,13 +82,15 @@ module Soulless
82
82
  # environment without a database. It's
83
83
  # necessary to convert to an ActiveModel
84
84
  # validation.
85
- validator_class = "ActiveModel::Validations::#{validator_class.name.split('::').last}".constantize
85
+ if validator_class.name =~ /\AActiveRecord/
86
+ validator_class = "ActiveModel::Validations::#{validator_class.name.split('::').last}".constantize
87
+ end
86
88
  end
87
89
  validates_with(validator_class, { attributes: attribute_name }.merge(validator_options))
88
90
  end
89
91
  end
90
92
  end
91
-
93
+
92
94
  def get_attribute_names(attributes, options)
93
95
  attribute_names = attributes
94
96
  attribute_names << options[:additional_attributes] if options[:additional_attributes]
@@ -96,7 +98,7 @@ module Soulless
96
98
  attribute_names.map!{ |a| a.to_s }
97
99
  attribute_names
98
100
  end
99
-
101
+
100
102
  def translate_primitive(primitive)
101
103
  return nil unless primitive
102
104
  translated_primitive = primitive.to_s.capitalize
@@ -105,7 +107,7 @@ module Soulless
105
107
  translated_primitive = String if translated_primitive == 'Uuid'
106
108
  translated_primitive
107
109
  end
108
-
110
+
109
111
  def include_attribute?(attribute_name, options)
110
112
  # Attributes we don't want to inherit
111
113
  exclude_attributes = ['id']
@@ -118,10 +120,10 @@ module Soulless
118
120
  only_attributes << options[:only] if options[:only]
119
121
  only_attributes.flatten!
120
122
  only_attributes.collect!{ |v| v.to_s }
121
-
123
+
122
124
  !exclude_attributes.include?(attribute_name) && (only_attributes.empty? || only_attributes.include?(attribute_name))
123
125
  end
124
-
126
+
125
127
  def skip_validators?(attribute_name, options)
126
128
  return true if options[:skip_validators] == true
127
129
  skip_validators = []
@@ -133,4 +135,4 @@ module Soulless
133
135
  end
134
136
  end
135
137
  end
136
- end
138
+ end
@@ -1,3 +1,3 @@
1
1
  module Soulless
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soulless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-18 00:00:00.000000000 Z
11
+ date: 2014-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport