metabolical 1.1.0 → 1.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e3e3ea61aa1050f31eb0a4daf6e00d403b10d0d448500fed099f0ac8ac02fb0
4
- data.tar.gz: 0f2a20a3ff7e23530fbd803dffbaa2f3383d2b19c299b13920a6307038c83d8b
3
+ metadata.gz: c64475964e6b37ea5502c264151add71cdcf0d956c8a32c484dfbb47d3b556b2
4
+ data.tar.gz: ccb3c4e1b41c619d27d723b52d8104a9797cc51e225a7619e7c47e10bee7ae23
5
5
  SHA512:
6
- metadata.gz: eda7728a0f4dacedac25e3384c70823e4b95ac4a1332c5d090cf2184c64efd5649788ee3111e2650adabe5ea2c2c7e76b33f70efaab60f767175bc91fd6fec54
7
- data.tar.gz: 4eb85eed61028050cbacf5db16f74d83216b4a8b18721f2823398babc91a9096169d2ad7537e653fc2738bde1535fab5946c768cfec94c14ae8916e06cb846f7
6
+ metadata.gz: 8b56934b70a4419cf7d2ff4fbbb12e96b973922de87fa1c9cd28938131c97f6ddec7956569e4985895d75230968a602da00d72e1186a79b722b0a0bc12a2f356
7
+ data.tar.gz: bbc4edb0f271008bf4cc74dbedccc330a0f6171b8335c8bdf72855a44e9d3eabc3782c845b143fad6adea692f3b115e88f6eb39afef466a33f2ccd9f5ce0a05f
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
2
4
 
3
5
  # Specify your gem's dependencies in metabolical.gemspec
4
6
  gemspec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "metabolical"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -1,3 +1,3 @@
1
1
  module Metabolical
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
data/lib/metabolical.rb CHANGED
@@ -2,6 +2,8 @@ require 'metabolical/meta_datum'
2
2
  require 'metabolical/scopes'
3
3
 
4
4
  module Metabolical
5
+ class Error < StandardError; end
6
+
5
7
  def self.included(klass)
6
8
  klass.extend ClassMethods
7
9
  end
@@ -18,7 +20,7 @@ module Metabolical
18
20
  has_many :metas, :as => :metabolized, :class_name => 'Metabolical::MetaDatum' do
19
21
  def [](key)
20
22
  owner = (self.respond_to?(:proxy_association) ? self.proxy_association.owner : self.proxy_owner)
21
- find_by_key(key) || owner.metas.detect{|m| m.key == key} || owner.metas.build(:key => key)
23
+ (owner.metas.loaded? && owner.metas.detect{|m| m.key == key} ) || find_by(key: key) || owner.metas.build(:key => key)
22
24
  end
23
25
 
24
26
  def []=(key, data)
data/metabolical.gemspec CHANGED
@@ -1,26 +1,38 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require "metabolical/version"
4
4
 
5
- Gem::Specification.new do |s|
6
- s.name = "metabolical"
7
- s.version = Metabolical::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ["Diego Scataglini"]
10
- s.email = ["dwebsubmit@gmail.com"]
11
- s.homepage = ""
12
- s.summary = %q{This is an ActiveRecord Model & mixin to add meta data to any AR object}
13
- s.description = %q{This is an ActiveRecord Model & mixin to add meta data to any AR object}
14
-
15
- s.required_ruby_version = '>= 1.8.7'
16
-
17
- s.rubyforge_project = "metabolical"
18
-
19
- s.files = `git ls-files`.split("\n")
20
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
- s.require_paths = ["lib"]
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "metabolical"
7
+ spec.version = Metabolical::VERSION
8
+ spec.platform = Gem::Platform::RUBY
9
+ spec.authors = ["Diego Scataglini"]
10
+ spec.email = ["dwebsubmit@gmail.com"]
11
+ spec.homepage = "https://github.com/dscataglini/Metabolical"
12
+ spec.summary = %q{Add arbitrary meta data to any AR object}
13
+ spec.description = %q{This is an ActiveRecord Model & mixin to add meta data to any AR object}
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = '>= 3.2.0'
23
16
 
24
- s.add_dependency('activerecord', '>= 4.2.0')
17
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
18
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ end
20
+
21
+ spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
+ spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
+ spec.require_paths = ["lib"]
25
24
 
25
+ spec.add_runtime_dependency 'activerecord', '~> 6.0', '>= 6.0.0'
26
+ spec.add_development_dependency "bundler", "~> 2.1"
27
+ spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "rspec", "~> 3.0"
29
+
30
+
31
+ if spec.respond_to?(:metadata)
32
+ spec.metadata["homepage_uri"] = spec.homepage
33
+ spec.metadata["source_code_uri"] = spec.homepage
34
+ else
35
+ raise "RubyGems 2.0 or newer is required to protect against " \
36
+ "public gem pushes."
37
+ end
26
38
  end
metadata CHANGED
@@ -1,41 +1,92 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metabolical
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Diego Scataglini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-06 00:00:00.000000000 Z
11
+ date: 2024-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '6.0'
17
20
  - - ">="
18
21
  - !ruby/object:Gem::Version
19
- version: 4.2.0
22
+ version: 6.0.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '6.0'
24
30
  - - ">="
25
31
  - !ruby/object:Gem::Version
26
- version: 4.2.0
32
+ version: 6.0.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: bundler
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.1'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.1'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '10.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '10.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.0'
27
75
  description: This is an ActiveRecord Model & mixin to add meta data to any AR object
28
76
  email:
29
77
  - dwebsubmit@gmail.com
30
- executables: []
78
+ executables:
79
+ - console
80
+ - setup
31
81
  extensions: []
32
82
  extra_rdoc_files: []
33
83
  files:
34
84
  - ".gitignore"
35
- - ".rvmrc"
36
85
  - Gemfile
37
86
  - README.rdoc
38
87
  - Rakefile
88
+ - bin/console
89
+ - bin/setup
39
90
  - lib/metabolical.rb
40
91
  - lib/metabolical/meta_datum.rb
41
92
  - lib/metabolical/scopes.rb
@@ -45,9 +96,12 @@ files:
45
96
  - test/metabolical_test.rb
46
97
  - test/models/user.rb
47
98
  - test/schema/schema.rb
48
- homepage: ''
49
- licenses: []
50
- metadata: {}
99
+ homepage: https://github.com/dscataglini/Metabolical
100
+ licenses:
101
+ - MIT
102
+ metadata:
103
+ homepage_uri: https://github.com/dscataglini/Metabolical
104
+ source_code_uri: https://github.com/dscataglini/Metabolical
51
105
  post_install_message:
52
106
  rdoc_options: []
53
107
  require_paths:
@@ -56,17 +110,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
56
110
  requirements:
57
111
  - - ">="
58
112
  - !ruby/object:Gem::Version
59
- version: 1.8.7
113
+ version: 3.2.0
60
114
  required_rubygems_version: !ruby/object:Gem::Requirement
61
115
  requirements:
62
116
  - - ">="
63
117
  - !ruby/object:Gem::Version
64
118
  version: '0'
65
119
  requirements: []
66
- rubygems_version: 3.0.8
120
+ rubygems_version: 3.4.19
67
121
  signing_key:
68
122
  specification_version: 4
69
- summary: This is an ActiveRecord Model & mixin to add meta data to any AR object
123
+ summary: Add arbitrary meta data to any AR object
70
124
  test_files:
71
125
  - test/helper.rb
72
126
  - test/metabolical_test.rb
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use 1.8.7