utusemi 0.0.4 → 0.0.5

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: 4b16d77100fe212c9bd6e394b78d2d78016f88ff
4
- data.tar.gz: b0f86e567be982e9e9e90ea676ad1996da452f45
3
+ metadata.gz: 5d2f1842ad1590bc9ffd7d86284f73621e09dc98
4
+ data.tar.gz: 879c977d5859077234e3cf4cab9f1f0e404bab36
5
5
  SHA512:
6
- metadata.gz: 2807f6a7381168122fc1d6240c207e897d20d1bd7a5d6240d493584265a1670f62eeba4f1d007d0b96a44cbc8da8f4ce97723868ca9d00835dad03027115fd78
7
- data.tar.gz: 3ab9cacae33c0bb31faa35e5b11b3ca82606e0356023ecc5075f681cd8dde9444ad3090516a0d98ccabc71f67dcc01de35d3fb93eac65d16519054e2cb338472
6
+ metadata.gz: 21680f17fc9aec12a3ff2c82afcdd3ef7ebe15008e35c4d9c399d56df6ad9987f3badb1ee132d244f48e13394ef2de9dad290da2e0bd80faf1935c937a315c7d
7
+ data.tar.gz: b40a9ac874264953470c9ca404012c0370fd84d211f8a3197b011ca3bdb37c97fe0f11fb95626ec0ccd504a14cb400a4ac3201e0252f0a0ad8b24d1ca867039c
@@ -15,7 +15,7 @@ module Utusemi
15
15
  # for model and relation
16
16
  this.prepend_to_activerecord_base
17
17
  this.prepend_to_activerecord_relation
18
- this.prepend_to_activerecord_eigenclass
18
+ this.prepend_to_activerecord_singleton_class
19
19
  this.prepend_to_activerecord_associations_hasmanyassociation
20
20
  this.prepend_to_activerecord_associations_collectionproxy
21
21
  end
@@ -43,12 +43,12 @@ module Utusemi
43
43
  ActiveRecord::Relation.send(:prepend, Core::ActiveRecord::Relation)
44
44
  end
45
45
 
46
- def prepend_to_activerecord_eigenclass
47
- activerecord_eigenclass.send(:prepend, Core::ActiveRecord::Base::ClassMethods)
46
+ def prepend_to_activerecord_singleton_class
47
+ ActiveRecord::Base.singleton_class.send(:prepend, Core::ActiveRecord::Base::ClassMethods)
48
48
  # for rails 3.x
49
- activerecord_eigenclass.send(:prepend, Core::ActiveRecord::RelationMethod) if Rails::VERSION::MAJOR == 3
49
+ ActiveRecord::Base.singleton_class.send(:prepend, Core::ActiveRecord::RelationMethod) if Rails::VERSION::MAJOR == 3
50
50
  # for association
51
- activerecord_eigenclass.send(:prepend, Core::ActiveRecord::AssociationMethods)
51
+ ActiveRecord::Base.singleton_class.send(:prepend, Core::ActiveRecord::AssociationMethods)
52
52
  end
53
53
 
54
54
  def prepend_to_activerecord_associations_hasmanyassociation
@@ -58,11 +58,5 @@ module Utusemi
58
58
  def prepend_to_activerecord_associations_collectionproxy
59
59
  ActiveRecord::Associations::CollectionProxy.send(:prepend, Core::ActiveRecord::CollectionProxy) if Rails::VERSION::MAJOR == 3
60
60
  end
61
-
62
- private
63
-
64
- def activerecord_eigenclass
65
- ActiveRecord::Base.class_eval { class << self; self; end }
66
- end
67
61
  end
68
62
  end
@@ -15,7 +15,9 @@ module Utusemi
15
15
  #
16
16
  module Base
17
17
  def utusemi_values
18
- @utusemi_values ||= {}
18
+ utusemi_values = @utusemi_values || {}
19
+ utusemi_values = klass_utusemi_values unless utusemi_values[:flag]
20
+ utusemi_values
19
21
  end
20
22
 
21
23
  def utusemi(obj = nil, options = {})
@@ -24,10 +26,11 @@ module Utusemi
24
26
 
25
27
  def utusemi!(obj = nil, options = {})
26
28
  obj = true if obj.nil?
27
- utusemi_values[:flag] = obj ? true : false
28
- utusemi_values[:type] = obj.to_sym if obj.class.in? [Symbol, String]
29
- utusemi_values[:type] ||= default_utusemi_type
30
- utusemi_values[:options] = options
29
+ @utusemi_values ||= {}
30
+ @utusemi_values[:flag] = obj ? true : false
31
+ @utusemi_values[:type] = obj.to_sym if obj.class.in? [Symbol, String]
32
+ @utusemi_values[:type] ||= default_utusemi_type
33
+ @utusemi_values[:options] = options
31
34
  warning_checker unless Rails.env.production?
32
35
  self
33
36
  end
@@ -70,6 +73,13 @@ module Utusemi
70
73
  self
71
74
  end
72
75
  end
76
+
77
+ def klass_utusemi_values
78
+ return {} unless @klass
79
+ utusemi_values = @klass.instance_variable_get(:@utusemi_values) || {}
80
+ return {} unless utusemi_values[:flag]
81
+ utusemi_values
82
+ end
73
83
  end
74
84
 
75
85
  # 用途
@@ -265,8 +275,6 @@ module Utusemi
265
275
  # #=> true (= products.title)
266
276
  #
267
277
  def to_a
268
- utusemi_values = self.utusemi_values
269
- utusemi_values = @klass.utusemi_values unless utusemi_values[:flag]
270
278
  return super unless utusemi_values[:flag]
271
279
  super.each { |record| record.utusemi!(utusemi_values[:type], utusemi_values[:options]) }
272
280
  end
@@ -309,8 +317,7 @@ module Utusemi
309
317
  def association(name)
310
318
  truthly_owner = self
311
319
  association = super
312
- eigenclass = class << association; self; end
313
- eigenclass.send(:define_method, :truthly_owner) { truthly_owner }
320
+ association.singleton_class.send(:define_method, :truthly_owner) { truthly_owner }
314
321
  association
315
322
  end
316
323
  end
@@ -1,3 +1,3 @@
1
1
  module Utusemi
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utusemi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - YOSHIDA Hiroki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-23 00:00:00.000000000 Z
11
+ date: 2014-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord