metabolical 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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