mobility 0.8.11 → 0.8.13

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
  SHA256:
3
- metadata.gz: af3d3290a6ff7b079c7762980e5b26127c22e2a047e24d1d732daae129c51d3e
4
- data.tar.gz: 4318510dcbc21495323317f02fed44b8d44218bd572a1ff9a32ee401ea97ad43
3
+ metadata.gz: bd73c4e94757a4138786f7ebfeb2ac7bbdbcb219030af3319043232b696d70c2
4
+ data.tar.gz: c05a86a128d80fb859b531c25745474a561f92bf1c610a6d41250c4995f8b0a0
5
5
  SHA512:
6
- metadata.gz: ac1ac24bec3eb971644aa9cf63a5515c102649cc534f8cce7455bc90dd2dbfbe3002fab8e8dfd79adb0b7784bf87269b7e074723caec1598b163595defa79da9
7
- data.tar.gz: fb6cdeb01e91a6373486a5156742ef068184742d53419ea6b1595a878ddd03fbc82345333519917a242bbc61798fc4e71e5f21494c0939272576f2af912e5b15
6
+ metadata.gz: cfcddf59bc7a203fd00508bbcb32c8e59658eded31cbf637fb5fe9e9ccfd4cde3b59f762113b1f32c1427d5e2fecfa67e9c91d6c9d8b58c05928cf90356370be
7
+ data.tar.gz: 887fbb7bb02fa80fc421b45f8f434972c4d163e11e0d6d5dc2618f94e7f86307feb2fc4801c988fd86d19735edb863519b60addacaebebb49d2cb27490af0210
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -2,8 +2,22 @@
2
2
 
3
3
  ## 0.8
4
4
 
5
+ ### 0.8.13 (May 27, 2020)
6
+
7
+ * Fix fallthrough accessor method_missing not passing all options to super
8
+ ([#364](https://github.com/shioyama/mobility/pull/364),
9
+ [#384](https://github.com/shioyama/mobility/pull/384),
10
+ [#377](https://github.com/shioyama/mobility/pull/377), thanks
11
+ [doits](https://github.com/doits)!)
12
+
13
+ ### 0.8.12 (May 15, 2020)
14
+
15
+ (yanked)
16
+
5
17
  ### 0.8.11 (May 14, 2020)
6
- * Handle select with block ([#359](https://github.com/shioyama/mobility/pull/359))
18
+ * Handle select with block
19
+ ([#359](https://github.com/shioyama/mobility/pull/359), thanks
20
+ [dlcmh](https://github.com/dlcmh)!)
7
21
 
8
22
  ### 0.8.10 (February 11, 2020)
9
23
  * Enforce case_sensitive comparison for Rails 6.1
data/Gemfile CHANGED
@@ -3,41 +3,70 @@ source 'https://rubygems.org'
3
3
  # Specify your gem's dependencies in mobility.gemspec
4
4
  gemspec
5
5
 
6
+ orm, orm_version = ENV['ORM'], ENV['ORM_VERSION']
7
+
6
8
  group :development, :test do
7
- if ENV['ORM'] == 'active_record'
8
- if ENV['RAILS_VERSION'] == '5.0'
9
- gem 'activerecord', '>= 5.0', '< 5.1'
10
- elsif ENV['RAILS_VERSION'] == '4.2'
9
+ case orm
10
+ when 'active_record'
11
+ orm_version ||= '6.0'
12
+ case orm_version
13
+ when '4.2'
11
14
  gem 'activerecord', '>= 4.2.6', '< 5.0'
12
- elsif ENV['RAILS_VERSION'] == '5.1'
15
+ when '5.0'
16
+ gem 'activerecord', '>= 5.0', '< 5.1'
17
+ when '5.1'
13
18
  gem 'activerecord', '>= 5.1', '< 5.2'
14
- elsif ENV['RAILS_VERSION'] == '5.2'
19
+ when '5.2'
15
20
  gem 'activerecord', '>= 5.2.0', '< 5.3'
16
21
  gem 'railties', '>= 5.2.0.rc2', '< 5.3'
17
- else # Default is Rails 6.0
22
+ when '6.0'
18
23
  gem 'activerecord', '>= 6.0.0', '< 6.1'
24
+ when '6.1'
25
+ git 'https://github.com/rails/rails.git' do
26
+ gem 'activerecord'
27
+ gem 'activesupport'
28
+ end
29
+ else
30
+ raise ArgumentError, 'Invalid ActiveRecord version'
19
31
  end
32
+
20
33
  gem "generator_spec", '~> 0.9.4'
21
- elsif ENV['ORM'] == 'sequel'
22
- if ENV['SEQUEL_VERSION'] == '4'
34
+ when 'sequel'
35
+ orm_version ||= '5'
36
+ case orm_version
37
+ when '4'
23
38
  gem 'sequel', '>= 4.46.0', '< 5.0'
24
- else
39
+ when '5'
25
40
  gem 'sequel', '>= 5.0.0', '< 6.0.0'
41
+ else
42
+ raise ArgumentError, 'Invalid Sequel version'
26
43
  end
44
+ when nil, ''
45
+ else
46
+ raise ArgumentError, "Invalid ORM: #{orm}"
27
47
  end
28
48
 
29
- gem 'allocation_stats' if ENV['TEST_PERFORMANCE']
49
+ gem 'allocation_stats' if ENV['FEATURE'] == 'performance'
30
50
 
31
51
  platforms :ruby do
32
52
  gem 'guard-rspec'
33
53
  gem 'pry-byebug'
34
- if ENV['ORM'] == 'active_record' && ENV['RAILS_VERSION'] < '5.2'
35
- gem 'sqlite3', '~> 1.3.13'
36
- else
37
- gem 'sqlite3', '~> 1.4.1'
54
+ case ENV['DB']
55
+ when 'sqlite3'
56
+ if orm == 'active_record' && orm_version < '5.2'
57
+ gem 'sqlite3', '~> 1.3.13'
58
+ else
59
+ gem 'sqlite3', '~> 1.4.1'
60
+ end
61
+ when 'mysql'
62
+ gem 'mysql2'
63
+ when 'postgres'
64
+ if orm == 'active_record' && orm_version < '5.0'
65
+ gem 'pg', '< 1.0'
66
+ else
67
+ gem 'pg'
68
+ end
38
69
  end
39
- gem 'mysql2', '~> 0.4.9'
40
- gem 'pg', '< 1.0'
41
70
  end
42
71
  end
43
72
 
@@ -1,51 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mobility (0.8.10)
4
+ mobility (1.0.alpha.1)
5
5
  i18n (>= 0.6.10, < 2)
6
6
  request_store (~> 1.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actionpack (6.0.3)
12
- actionview (= 6.0.3)
13
- activesupport (= 6.0.3)
14
- rack (~> 2.0, >= 2.0.8)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (6.0.3)
19
- activesupport (= 6.0.3)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activemodel (6.0.3)
25
- activesupport (= 6.0.3)
26
- activerecord (6.0.3)
27
- activemodel (= 6.0.3)
28
- activesupport (= 6.0.3)
29
- activesupport (6.0.3)
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
31
- i18n (>= 0.7, < 2)
32
- minitest (~> 5.1)
33
- tzinfo (~> 1.1)
34
- zeitwerk (~> 2.2, >= 2.2.2)
35
11
  benchmark-ips (2.8.2)
36
- builder (3.2.4)
37
12
  byebug (11.1.3)
38
13
  coderay (1.1.2)
39
14
  concurrent-ruby (1.1.6)
40
- crass (1.0.6)
41
15
  database_cleaner (1.8.5)
42
16
  diff-lcs (1.3)
43
- erubi (1.9.0)
44
17
  ffi (1.12.2)
45
18
  formatador (0.2.5)
46
- generator_spec (0.9.4)
47
- activesupport (>= 3.0.0)
48
- railties (>= 3.0.0)
49
19
  guard (2.16.2)
50
20
  formatador (>= 0.2.4)
51
21
  listen (>= 2.7, < 4.0)
@@ -65,21 +35,12 @@ GEM
65
35
  listen (3.2.1)
66
36
  rb-fsevent (~> 0.10, >= 0.10.3)
67
37
  rb-inotify (~> 0.9, >= 0.9.10)
68
- loofah (2.5.0)
69
- crass (~> 1.0.2)
70
- nokogiri (>= 1.5.9)
71
38
  lumberjack (1.2.4)
72
39
  method_source (1.0.0)
73
- mini_portile2 (2.4.0)
74
- minitest (5.14.0)
75
- mysql2 (0.4.10)
76
40
  nenv (0.3.0)
77
- nokogiri (1.10.9)
78
- mini_portile2 (~> 2.4.0)
79
41
  notiffany (0.1.3)
80
42
  nenv (~> 0.1)
81
43
  shellany (~> 0.0)
82
- pg (0.21.0)
83
44
  pry (0.13.1)
84
45
  coderay (~> 1.1)
85
46
  method_source (~> 1.0)
@@ -87,19 +48,6 @@ GEM
87
48
  byebug (~> 11.0)
88
49
  pry (~> 0.13.0)
89
50
  rack (2.2.2)
90
- rack-test (1.1.0)
91
- rack (>= 1.0, < 3)
92
- rails-dom-testing (2.0.3)
93
- activesupport (>= 4.2.0)
94
- nokogiri (>= 1.6)
95
- rails-html-sanitizer (1.3.0)
96
- loofah (~> 2.3)
97
- railties (6.0.3)
98
- actionpack (= 6.0.3)
99
- activesupport (= 6.0.3)
100
- method_source
101
- rake (>= 0.8.7)
102
- thor (>= 0.20.3, < 2.0)
103
51
  rake (12.3.3)
104
52
  rb-fsevent (0.10.4)
105
53
  rb-inotify (0.10.1)
@@ -120,31 +68,21 @@ GEM
120
68
  rspec-support (~> 3.9.0)
121
69
  rspec-support (3.9.3)
122
70
  shellany (0.0.1)
123
- sqlite3 (1.4.2)
124
71
  thor (1.0.1)
125
- thread_safe (0.3.6)
126
- tzinfo (1.2.7)
127
- thread_safe (~> 0.1)
128
72
  yard (0.9.25)
129
- zeitwerk (2.3.0)
130
73
 
131
74
  PLATFORMS
132
75
  ruby
133
76
 
134
77
  DEPENDENCIES
135
- activerecord (>= 6.0.0, < 6.1)
136
78
  benchmark-ips
137
79
  database_cleaner (~> 1.5, >= 1.5.3)
138
- generator_spec (~> 0.9.4)
139
80
  guard-rspec
140
81
  mobility!
141
- mysql2 (~> 0.4.9)
142
- pg (< 1.0)
143
82
  pry-byebug
144
83
  rake (~> 12, >= 12.2.1)
145
84
  rspec (~> 3.0)
146
- sqlite3 (~> 1.4.1)
147
85
  yard (~> 0.9.0)
148
86
 
149
87
  BUNDLED WITH
150
- 1.17.3
88
+ 2.1.4
data/README.md CHANGED
@@ -51,7 +51,7 @@ Installation
51
51
  Add this line to your application's Gemfile:
52
52
 
53
53
  ```ruby
54
- gem 'mobility', '~> 0.8.11'
54
+ gem 'mobility', '~> 0.8.13'
55
55
  ```
56
56
 
57
57
  Mobility is cryptographically signed. To be sure the gem you install hasn't
data/Rakefile CHANGED
@@ -2,7 +2,9 @@ require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
  require "yaml"
4
4
 
5
- RSpec::Core::RakeTask.new(:spec)
5
+ RSpec::Core::RakeTask.new(:spec) do |task|
6
+ task.rspec_opts = '-f p'
7
+ end
6
8
 
7
9
  task :default => :spec
8
10
 
@@ -18,7 +20,7 @@ namespace :db do
18
20
  desc "Create the database"
19
21
  task create: :setup do
20
22
  commands = {
21
- "mysql" => "mysql -u #{config['username']} -e 'create database #{config["database"]} default character set #{config["encoding"]} default collate #{config["collation"]};' >/dev/null",
23
+ "mysql" => "mysql -h #{config['host']} -P #{config['port']} -u #{config['username']} --password=#{config['password']} -e 'create database #{config["database"]} default character set #{config["encoding"]} default collate #{config["collation"]};' >/dev/null",
22
24
  "postgres" => "psql -c 'create database #{config['database']};' -U #{config['username']} >/dev/null"
23
25
  }
24
26
  %x{#{commands[driver] || true}}
@@ -28,7 +30,7 @@ namespace :db do
28
30
  desc "Drop the database"
29
31
  task drop: :setup do
30
32
  commands = {
31
- "mysql" => "mysql -u #{config['username']} -e 'drop database #{config["database"]};' >/dev/null",
33
+ "mysql" => "mysql -h #{config['host']} -P #{config['port']} -u #{config['username']} --password=#{config['password']} -e 'drop database #{config["database"]};' >/dev/null",
32
34
  "postgres" => "psql -c 'drop database #{config['database']};' -U #{config['username']} >/dev/null"
33
35
  }
34
36
  %x{#{commands[driver] || true}}
@@ -42,8 +44,8 @@ namespace :db do
42
44
 
43
45
  require orm
44
46
  require "database"
45
- require "#{orm}/schema"
46
47
  DB = Mobility::Test::Database.connect(orm)
48
+ require "#{orm}/schema"
47
49
  Mobility::Test::Schema.up
48
50
  end
49
51
 
@@ -46,14 +46,18 @@ model class is generated.
46
46
  def initialize(*attributes)
47
47
  method_name_regex = /\A(#{attributes.join('|')})_([a-z]{2}(_[a-z]{2})?)(=?|\??)\z/.freeze
48
48
 
49
- define_method :method_missing do |method_name, *arguments, **options, &block|
49
+ define_method :method_missing do |method_name, *args, &block|
50
50
  if method_name =~ method_name_regex
51
- attribute = $1.to_sym
51
+ attribute_method = "#{$1}#{$4}"
52
52
  locale, suffix = $2.split('_')
53
53
  locale = "#{locale}-#{suffix.upcase}" if suffix
54
- public_send("#{attribute}#{$4}", *arguments, **options, locale: locale.to_sym)
54
+ if $4 == '=' # writer
55
+ public_send(attribute_method, args[0], **(args[1] || {}), locale: locale.to_sym)
56
+ else # reader
57
+ public_send(attribute_method, **(args[0] || {}), locale: locale.to_sym)
58
+ end
55
59
  else
56
- super(method_name, *arguments, &block)
60
+ super(method_name, *args, &block)
57
61
  end
58
62
  end
59
63
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mobility
4
- VERSION = "0.8.11"
4
+ VERSION = "0.8.13"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mobility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.11
4
+ version: 0.8.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Salzberg
@@ -34,7 +34,7 @@ cert_chain:
34
34
  gSQml7TqcC6dZRsZRwYqzD9kUwdAJoCqno2CBUKs2l0yQAjFT36lRrVJznb7uWwa
35
35
  xpPFnsrtyaZW6Dty8TSG3qzmeGpmpIotA8x1VA==
36
36
  -----END CERTIFICATE-----
37
- date: 2020-05-14 00:00:00.000000000 Z
37
+ date: 2020-05-27 00:00:00.000000000 Z
38
38
  dependencies:
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: request_store
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
273
273
  - !ruby/object:Gem::Version
274
274
  version: '0'
275
275
  requirements: []
276
- rubygems_version: 3.0.6
276
+ rubygems_version: 3.0.3
277
277
  signing_key:
278
278
  specification_version: 4
279
279
  summary: Pluggable Ruby translation framework
metadata.gz.sig CHANGED
Binary file