metabolical 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,12 +13,12 @@ module Metabolical
13
13
  has_many :metas, :as => :metabolized, :class_name => 'Metabolical::MetaDatum' do
14
14
  def [](key)
15
15
  owner = (self.respond_to?(:proxy_association) ? self.proxy_association.owner : self.proxy_owner)
16
- find_by_key(key) || owner.metas.detect{|m| m.key == key}
16
+ find_by_key(key) || owner.metas.detect{|m| m.key == key} || owner.metas.build(:key => key)
17
17
  end
18
18
 
19
19
  def []=(key, data)
20
20
  owner = (self.respond_to?(:proxy_association) ? self.proxy_association.owner : self.proxy_owner)
21
- meta = self[key] || owner.metas.build(:key => key)
21
+ meta = self[key]
22
22
  meta.data = data
23
23
  meta.save unless owner.new_record?
24
24
  meta
@@ -3,7 +3,7 @@ module Metabolical
3
3
  def self.included(klass)
4
4
  method = klass.respond_to?(:named_scope) ? :named_scope : :scope
5
5
  klass.send method, :with_meta, lambda{|k| {:joins => [:metas], :conditions => {"meta_data.key" => k}}}
6
- klass.send method, :with_metas, :includes => [:metas]
6
+ klass.send method, :with_metas, :include => [:metas]
7
7
  klass.send method, :with_meta_data, lambda{|k, v| {:joins => [:metas], :conditions => {"meta_data.key" => k, "meta_data.data" => v.to_yaml}}}
8
8
  klass.send method, :without_meta, lambda{|k|
9
9
  {:joins => "left join meta_data md on md.metabolized_id = #{klass.table_name}.#{klass.primary_key} and md.metabolized_type = '#{klass.to_s}' and md.key = '#{k}'", :conditions => "md.metabolized_id is null"}
@@ -1,3 +1,3 @@
1
1
  module Metabolical
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metabolical
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 3
10
- version: 0.0.3
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Diego Scataglini
@@ -15,12 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-11 00:00:00 Z
18
+ date: 2012-05-30 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: activerecord
21
+ type: :runtime
22
22
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
26
26
  - - ">="
@@ -31,8 +31,8 @@ dependencies:
31
31
  - 1
32
32
  - 2
33
33
  version: 2.1.2
34
- type: :runtime
35
- version_requirements: *id001
34
+ requirement: *id001
35
+ name: activerecord
36
36
  description: This is an ActiveRecord Model & mixin to add meta data to any AR object
37
37
  email:
38
38
  - diego@junivi.com
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  requirements: []
89
89
 
90
90
  rubyforge_project: metabolical
91
- rubygems_version: 1.8.5
91
+ rubygems_version: 1.8.15
92
92
  signing_key:
93
93
  specification_version: 3
94
94
  summary: This is an ActiveRecord Model & mixin to add meta data to any AR object