anonymous_active_record 0.1.1 β†’ 0.1.2

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: fa15844570da514a5c2a30e69b63307af6f8231b3286df0a72e10c182545ee8a
4
- data.tar.gz: 9862a7f30fda32682d5c2fd0444ab2e039e73e2d258eafa468fcedeafdeb2a1c
3
+ metadata.gz: 06cc5b89d0dd74bf695170d403d5e13cf43890ad4dec496d4277ace4a02fa0a6
4
+ data.tar.gz: 447127ce3f3cdfc5ad4ac3b9112ab0d674847756e90cb7eb7606bb2cab828475
5
5
  SHA512:
6
- metadata.gz: 18ae46be36c5bd034197b5f995ff4b68eb952e70786632062e47c975845928f77d6636497a2ae76383bc08f2f58df36d0aed2e4d4532edb19d5f616a1cc22148
7
- data.tar.gz: 970454d5c98920e1a7f70faa050fe5818bda679c696af251ff42e4d532d9a51fbca5255676bcf9a3fa2501f3a9698d5a6d69c3afb77b9b25490c387e1bb13678
6
+ metadata.gz: ea9a4e359af2441fd4a111027a7563d505296051bf027f0380e05b8d1531b9242fa89294809ca8d7a9335d67c1009748d051dedade71ec9c3053ff0e38079ade
7
+ data.tar.gz: 4f0913bd9ec3382efde4a4a70a6f979332bc6c224b1560ac30c3da50188d61b3c3fac9a51a05a12378e39398d2e8ecfc3d10e9bbffd0b50cf17b2797e7aacea9
data/Gemfile CHANGED
@@ -5,10 +5,11 @@ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
5
5
  group :test do
6
6
  ruby_version = Gem::Version.new(RUBY_VERSION)
7
7
  if ruby_version >= Gem::Version.new('2.1')
8
- gem 'rubocop', '~> 0.53.0'
8
+ gem 'rubocop', '~> 0.59.0'
9
9
  gem 'rubocop-rspec', '~> 1.24.0'
10
10
  end
11
11
  gem 'pry', '~> 0.11' if ruby_version >= Gem::Version.new('2.0')
12
+ gem 'simplecov', require: false, group: :test
12
13
  end
13
14
 
14
15
  # Specify your gem's dependencies in anonymous_active_record.gemspec
data/README.md CHANGED
@@ -1,6 +1,4 @@
1
1
  # AnonymousActiveRecord
2
- [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record?ref=badge_shield)
3
-
4
2
 
5
3
  This library was 🎩 inspired by 🎩, the [Wolverine project](https://github.com/mcary/wolverine), which [implemented a clever workaround](https://github.com/mcary/wolverine/commit/fa27fa2cc485b2fa83d71b2045ba5a0a069dba75) to the official non-support of [anonymous classes by ActiveRecord](https://github.com/rails/rails/issues/8934).
6
4
 
@@ -9,16 +7,17 @@ Warning: Use of this gem is a **security risk**, due to the use of Ruby's `eval`
9
7
  | Project | AnonymousActiveRecord |
10
8
  |------------------------ | ----------------------- |
11
9
  | gem name | [anonymous_active_record](https://rubygems.org/gems/anonymous_active_record) |
12
- | license | [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) |
10
+ | license | [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) |
13
11
  | download rank | [![Downloads Today](https://img.shields.io/gem/rd/anonymous_active_record.svg)](https://github.com/pboling/anonymous_active_record) |
14
12
  | version | [![Version](https://img.shields.io/gem/v/anonymous_active_record.svg)](https://rubygems.org/gems/anonymous_active_record) |
15
- | dependencies | [![Depfu](https://badges.depfu.com/badges/a34c123a78a86496bbc2163b801089dd/count.svg)](https://depfu.com/github/pboling/activerecord-tablefree?project_id=5613) |
13
+ | dependencies | [![Depfu](https://badges.depfu.com/badges/272ce0df3bc6df5cbea9354e2c3b65af/count.svg)](https://depfu.com/github/pboling/anonymous_active_record?project_id=5614) |
16
14
  | continuous integration | [![Build Status](https://travis-ci.org/pboling/anonymous_active_record.svg?branch=master)](https://travis-ci.org/pboling/anonymous_active_record) |
17
15
  | test coverage | [![Test Coverage](https://api.codeclimate.com/v1/badges/fe504d4ab2fb77cecf7d/test_coverage)](https://codeclimate.com/github/pboling/anonymous_active_record/test_coverage) |
18
16
  | maintainability | [![Maintainability](https://api.codeclimate.com/v1/badges/fe504d4ab2fb77cecf7d/maintainability)](https://codeclimate.com/github/pboling/anonymous_active_record/maintainability) |
19
17
  | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/anonymous_active_record/badges/users.svg)](https://www.codetriage.com/pboling/anonymous_active_record) |
20
- | homepage | [http://www.railsbling.com/tags/anonymous_active_record/][homepage] |
21
- | documentation | [http://rdoc.info/github/pboling/anonymous_active_record/frames][documentation] |
18
+ | FOSSA Licenses | [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record?ref=badge_shield) |
19
+ | homepage | [on Github.com][homepage], [on Railsbling.com][blogpage] |
20
+ | documentation | [on RDoc.info][documentation] |
22
21
  | Spread ~β™‘β“›β“žβ“₯β“”β™‘~ | [🌍 🌎 🌏](https://about.me/peter.boling), [🍚](https://www.crowdrise.com/helprefugeeswithhopefortomorrowliberia/fundraiser/peterboling), [βž•](https://plus.google.com/+PeterBoling/posts), [πŸ‘Ό](https://angel.co/peter-boling), [πŸ›](https://www.topcoder.com/members/pboling/), [:shipit:](http://coderwall.com/pboling), [![Tweet Peter](https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow)](http://twitter.com/galtzo) |
23
22
 
24
23
  ## Installation
@@ -142,6 +141,37 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/pbolin
142
141
 
143
142
  Everyone interacting in the AnonymousActiveRecord project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/pboling/anonymous_active_record/blob/master/CODE_OF_CONDUCT.md).
144
143
 
144
+ ## Versioning
145
+
146
+ This library aims to adhere to [Semantic Versioning 2.0.0][semver].
147
+ Violations of this scheme should be reported as bugs. Specifically,
148
+ if a minor or patch version is released that breaks backward
149
+ compatibility, a new version should be immediately released that
150
+ restores compatibility. Breaking changes to the public API will
151
+ only be introduced with new major versions.
152
+
153
+ As a result of this policy, you can (and should) specify a
154
+ dependency on this gem using the [Pessimistic Version Constraint][pvc] with two digits of precision.
155
+
156
+ For example:
157
+
158
+ ```ruby
159
+ spec.add_dependency 'anonymous_active_record', '~> 0.0'
160
+ ```
145
161
 
146
162
  ## License
147
- [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record?ref=badge_large)
163
+
164
+ * Copyright (c) 2018 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
165
+
166
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
167
+
168
+ [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fpboling%2Fanonymous_active_record?ref=badge_large)
169
+
170
+ [license]: LICENSE.txt
171
+ [semver]: http://semver.org/
172
+ [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
173
+ [railsbling]: http://www.railsbling.com
174
+ [peterboling]: http://www.peterboling.com
175
+ [documentation]: http://rdoc.info/github/pboling/anonymous_active_record/frames
176
+ [homepage]: https://github.com/pboling/anonymous_active_record/
177
+ [blogpage]: http://www.railsbling.com/tags/anonymous_active_record/
@@ -1,5 +1,4 @@
1
-
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'anonymous_active_record/version'
5
4
 
@@ -23,10 +22,10 @@ Gem::Specification.new do |spec|
23
22
 
24
23
  spec.required_ruby_version = '>= 2.4' # Requirement for Ruby String#capitalize
25
24
 
26
- spec.add_development_dependency 'bundler', '~> 1.16'
27
- spec.add_development_dependency 'rake', '~> 12.3'
28
- spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'byebug', '~> 10.0'
30
- spec.add_development_dependency 'sqlite3', '~> 1.3'
31
- spec.add_dependency 'activerecord', '~> 5.0'
25
+ spec.add_development_dependency 'bundler', '~> 1'
26
+ spec.add_development_dependency 'byebug', '~> 10'
27
+ spec.add_development_dependency 'rake', '~> 12'
28
+ spec.add_development_dependency 'rspec', '~> 3'
29
+ spec.add_development_dependency 'sqlite3', '~> 1'
30
+ spec.add_dependency 'activerecord', '~> 5'
32
31
  end
@@ -17,7 +17,7 @@ module AnonymousActiveRecord
17
17
  attr_reader :klass_namespaces, :table_name, :klass_name
18
18
 
19
19
  def initialize(table_name, klass_namespaces = [], klass_basename = nil)
20
- @klass_namespaces = Array(klass_namespaces).map(&:to_s).map {|x| x.gsub(/[^a-z0-9]+/i, '_') }
20
+ @klass_namespaces = Array(klass_namespaces).map(&:to_s).map { |x| x.gsub(/[^a-z0-9]+/i, '_') }
21
21
  klass_context = [(klass_basename || DEFAULT_NAME).gsub(/[^a-z0-9]+/i, '_').capitalize, SecureRandom.uuid.gsub(/[^a-z0-9]+/i, '_')].join('_')
22
22
  @table_name = (table_name || klass_context).downcase.to_s
23
23
  # String#capitalize is Ruby >= 2.4, https://stackoverflow.com/a/3725154/213191
@@ -1,3 +1,3 @@
1
1
  module AnonymousActiveRecord
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
@@ -36,9 +36,9 @@ require 'anonymous_active_record/factory'
36
36
  #
37
37
  module AnonymousActiveRecord
38
38
  DEFAULT_CONNECTION_PARAMS = {
39
- adapter: 'sqlite3',
40
- encoding: 'utf8',
41
- database: ':memory:'
39
+ adapter: 'sqlite3',
40
+ encoding: 'utf8',
41
+ database: ':memory:'
42
42
  }.freeze
43
43
 
44
44
  # Defines a pseudo anonymous class in a particular namespace of your choosing.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anonymous_active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-09 00:00:00.000000000 Z
11
+ date: 2018-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,84 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '1'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: '1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '12.3'
33
+ version: '10'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '12.3'
40
+ version: '10'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '12'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.0'
54
+ version: '12'
55
55
  - !ruby/object:Gem::Dependency
56
- name: byebug
56
+ name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.3'
75
+ version: '1'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.3'
82
+ version: '1'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: activerecord
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '5.0'
89
+ version: '5'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '5.0'
96
+ version: '5'
97
97
  description: Replacement for broken Class.new(ActiveRecord::Base)
98
98
  email:
99
99
  - peter.boling@gmail.com