amazing_print 1.6.0 → 1.7.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 +4 -4
- data/CHANGELOG.md +15 -2
- data/lib/amazing_print/ext/active_record.rb +32 -2
- data/lib/amazing_print/ext/nobrainer.rb +2 -2
- data/lib/amazing_print/formatters/base_formatter.rb +5 -1
- data/lib/amazing_print/formatters/hash_formatter.rb +29 -9
- data/lib/amazing_print/formatters/mswin_helper.rb +4 -4
- data/lib/amazing_print/formatters/object_formatter.rb +1 -1
- data/lib/amazing_print/formatters/struct_formatter.rb +1 -1
- data/lib/amazing_print/inspector.rb +1 -1
- data/lib/amazing_print/version.rb +1 -1
- metadata +6 -63
- data/.gitignore +0 -35
- data/Appraisals +0 -66
- data/Gemfile +0 -18
- data/Gemfile.lock +0 -94
- data/LICENSE +0 -22
- data/Rakefile +0 -25
- data/spec/active_record_helper.rb +0 -43
- data/spec/colors_spec.rb +0 -120
- data/spec/core_ext/logger_spec.rb +0 -70
- data/spec/ext/action_controller_spec.rb +0 -40
- data/spec/ext/action_view_spec.rb +0 -24
- data/spec/ext/active_model_spec.rb +0 -37
- data/spec/ext/active_record_spec.rb +0 -302
- data/spec/ext/active_support_spec.rb +0 -37
- data/spec/ext/mongo_mapper_spec.rb +0 -265
- data/spec/ext/mongoid_spec.rb +0 -135
- data/spec/ext/nobrainer_spec.rb +0 -64
- data/spec/ext/nokogiri_spec.rb +0 -52
- data/spec/ext/ostruct_spec.rb +0 -24
- data/spec/ext/ripple_spec.rb +0 -53
- data/spec/ext/sequel_spec.rb +0 -45
- data/spec/formats_spec.rb +0 -795
- data/spec/methods_spec.rb +0 -520
- data/spec/misc_spec.rb +0 -206
- data/spec/objects_spec.rb +0 -225
- data/spec/sequel_helper.rb +0 -18
- data/spec/spec_helper.rb +0 -112
- data/spec/support/active_record_data/3_2_diana.txt +0 -24
- data/spec/support/active_record_data/3_2_diana_legacy.txt +0 -24
- data/spec/support/active_record_data/3_2_multi.txt +0 -50
- data/spec/support/active_record_data/3_2_multi_legacy.txt +0 -50
- data/spec/support/active_record_data/4_0_diana.txt +0 -98
- data/spec/support/active_record_data/4_0_multi.txt +0 -198
- data/spec/support/active_record_data/4_1_diana.txt +0 -97
- data/spec/support/active_record_data/4_1_multi.txt +0 -196
- data/spec/support/active_record_data/4_2_diana.txt +0 -109
- data/spec/support/active_record_data/4_2_diana_legacy.txt +0 -109
- data/spec/support/active_record_data/4_2_multi.txt +0 -220
- data/spec/support/active_record_data/4_2_multi_legacy.txt +0 -220
- data/spec/support/active_record_data/5_0_diana.txt +0 -105
- data/spec/support/active_record_data/5_0_multi.txt +0 -212
- data/spec/support/active_record_data/5_1_diana.txt +0 -104
- data/spec/support/active_record_data/5_1_multi.txt +0 -210
- data/spec/support/active_record_data/5_2_diana.txt +0 -104
- data/spec/support/active_record_data/5_2_multi.txt +0 -210
- data/spec/support/active_record_data/6_0_diana.txt +0 -104
- data/spec/support/active_record_data/6_0_multi.txt +0 -210
- data/spec/support/active_record_data/6_1_diana.txt +0 -109
- data/spec/support/active_record_data/6_1_multi.txt +0 -220
- data/spec/support/active_record_data/7_0_diana.txt +0 -110
- data/spec/support/active_record_data/7_0_multi.txt +0 -222
- data/spec/support/active_record_data.rb +0 -22
- data/spec/support/ext_verifier.rb +0 -46
- data/spec/support/mongoid_versions.rb +0 -24
- data/spec/support/rails_versions.rb +0 -62
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1936b7b4ca5adfa821918412efe3e0dee3ac1bfc82f27c07374169b212fe6014
|
4
|
+
data.tar.gz: 40c690d728938fbc4e2e46bde9189007acedecea5b43736ca5d1a5dbc59c5deb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e406d97f347bab6f9cd2ece415bc15a1edc0d0f655d08c4f09e21802f293b5f94199f81a0fa3b80857307b0988688eb5a940da6ec1cb79e6583334db5d6b704
|
7
|
+
data.tar.gz: d6f5ec436363f8ea1c48e5db11ff6ca62b3198d82be5b33dd949e98d0e700c7735c4b624a36f176cd1c5a08a2785047bfcaad0ea12f674d7138a4a32fb699861
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,21 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
##
|
3
|
+
## v1.7.2
|
4
4
|
|
5
|
-
|
5
|
+
- update the version string in `AmazingPrint.version`
|
6
|
+
|
7
|
+
## v1.7.1
|
8
|
+
|
9
|
+
- no changes, only linting
|
10
|
+
|
11
|
+
## v1.7.0
|
12
|
+
|
13
|
+
- Require Ruby >= 3.0
|
14
|
+
- Add support for `::ActiveModel::Attributes`
|
15
|
+
- Preserve user defined color defaults
|
16
|
+
- Micro-optimization to `AmazingPrint::ActiveRecord#cast` (avoid calls to `#ancestors`)
|
17
|
+
|
18
|
+
## v1.6.0
|
6
19
|
|
7
20
|
- Use pager with Pry #96
|
8
21
|
- Add Rails 7 appraisal #98
|
@@ -20,11 +20,15 @@ module AmazingPrint
|
|
20
20
|
|
21
21
|
if object.is_a?(::ActiveRecord::Base)
|
22
22
|
cast = :active_record_instance
|
23
|
+
elsif object.is_a?(Class) && object.include?(::ActiveModel::Attributes)
|
24
|
+
cast = :active_model_class
|
25
|
+
elsif object.is_a?(::ActiveModel::Attributes)
|
26
|
+
cast = :active_model_instance
|
23
27
|
elsif object.is_a?(::ActiveModel::Errors)
|
24
28
|
cast = :active_model_error
|
25
|
-
elsif object.is_a?(Class) && object
|
29
|
+
elsif object.is_a?(Class) && object <= ::ActiveRecord::Base
|
26
30
|
cast = :active_record_class
|
27
|
-
elsif type == :activerecord_relation || object.
|
31
|
+
elsif type == :activerecord_relation || object.is_a?(::ActiveRecord::Relation)
|
28
32
|
cast = :array
|
29
33
|
end
|
30
34
|
cast
|
@@ -71,6 +75,32 @@ module AmazingPrint
|
|
71
75
|
[awesome_simple("class #{object} < #{object.superclass}", :class), awesome_hash(data)].join(' ')
|
72
76
|
end
|
73
77
|
|
78
|
+
# Format ActiveModel instance object.
|
79
|
+
#------------------------------------------------------------------------------
|
80
|
+
def awesome_active_model_instance(object)
|
81
|
+
return object.inspect unless defined?(::ActiveSupport::OrderedHash)
|
82
|
+
return awesome_object(object) if @options[:raw]
|
83
|
+
|
84
|
+
data = object.attributes.each_with_object(::ActiveSupport::OrderedHash.new) do |c, hash|
|
85
|
+
hash[c.first.to_sym] = c.last
|
86
|
+
end
|
87
|
+
|
88
|
+
[awesome_simple(object.to_s, :active_model_instance), awesome_hash(data)].join(' ')
|
89
|
+
end
|
90
|
+
|
91
|
+
# Format ActiveModel class object.
|
92
|
+
#------------------------------------------------------------------------------
|
93
|
+
def awesome_active_model_class(object)
|
94
|
+
return object.inspect unless defined?(::ActiveSupport::OrderedHash)
|
95
|
+
return awesome_class(object) if @options[:raw]
|
96
|
+
|
97
|
+
data = object.attribute_types.each_with_object(::ActiveSupport::OrderedHash.new) do |c, hash|
|
98
|
+
hash[c.first.to_sym] = c.last.type
|
99
|
+
end
|
100
|
+
|
101
|
+
[awesome_simple("class #{object} < #{object.superclass}", :class), awesome_hash(data)].join(' ')
|
102
|
+
end
|
103
|
+
|
74
104
|
# Format ActiveModel error object.
|
75
105
|
#------------------------------------------------------------------------------
|
76
106
|
def awesome_active_model_error(object)
|
@@ -32,9 +32,9 @@ module AmazingPrint
|
|
32
32
|
#------------------------------------------------------------------------------
|
33
33
|
def awesome_nobrainer_class(object)
|
34
34
|
name = "#{awesome_simple(object, :class)} < #{awesome_simple(object.superclass, :class)}"
|
35
|
-
data = object.fields.
|
35
|
+
data = object.fields.to_h do |field, options|
|
36
36
|
[field, (options[:type] || Object).to_s.underscore.to_sym]
|
37
|
-
end
|
37
|
+
end
|
38
38
|
|
39
39
|
name = "class #{awesome_simple(object.to_s, :class)}"
|
40
40
|
base = "< #{awesome_simple(object.superclass.to_s, :class)}"
|
@@ -65,8 +65,18 @@ module AmazingPrint
|
|
65
65
|
result
|
66
66
|
end
|
67
67
|
|
68
|
+
def key_size(key)
|
69
|
+
return key.inspect.size if symbol?(key)
|
70
|
+
|
71
|
+
if options[:html]
|
72
|
+
single_line { inspector.awesome(key) }.size
|
73
|
+
else
|
74
|
+
plain_single_line { inspector.awesome(key) }.size
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
68
78
|
def max_key_width(keys)
|
69
|
-
keys.map { |key, _value|
|
79
|
+
keys.map { |key, _value| key_size(key) }.max || 0
|
70
80
|
end
|
71
81
|
|
72
82
|
def printable_keys
|
@@ -75,27 +85,37 @@ module AmazingPrint
|
|
75
85
|
keys.sort! { |a, b| a.to_s <=> b.to_s } if options[:sort_keys]
|
76
86
|
|
77
87
|
keys.map! do |key|
|
78
|
-
|
79
|
-
[
|
88
|
+
single_line do
|
89
|
+
[key, hash[key]]
|
80
90
|
end
|
81
91
|
end
|
82
92
|
end
|
83
93
|
|
84
94
|
def symbol?(key)
|
85
|
-
key
|
95
|
+
key.is_a?(Symbol)
|
86
96
|
end
|
87
97
|
|
88
98
|
def ruby19_syntax(key, value, width)
|
89
|
-
|
90
|
-
key
|
91
|
-
|
99
|
+
# Move the colon to the right side of the symbol
|
100
|
+
awesome_key = inspector.awesome(key).sub(/#{key.inspect}/, "#{key}:")
|
101
|
+
|
102
|
+
"#{align(awesome_key, width)} #{inspector.awesome(value)}"
|
92
103
|
end
|
93
104
|
|
94
105
|
def pre_ruby19_syntax(key, value, width)
|
95
|
-
|
106
|
+
awesome_key = single_line { inspector.awesome(key) }
|
107
|
+
"#{align(awesome_key, width)}#{colorize(' => ', :hash)}#{inspector.awesome(value)}"
|
108
|
+
end
|
109
|
+
|
110
|
+
def plain_single_line(&block)
|
111
|
+
plain = options[:plain]
|
112
|
+
options[:plain] = true
|
113
|
+
single_line(&block)
|
114
|
+
ensure
|
115
|
+
options[:plain] = plain
|
96
116
|
end
|
97
117
|
|
98
|
-
def
|
118
|
+
def single_line
|
99
119
|
multiline = options[:multiline]
|
100
120
|
options[:multiline] = false
|
101
121
|
yield
|
@@ -27,10 +27,10 @@ module AmazingPrint
|
|
27
27
|
def mode
|
28
28
|
r = ['-'] * 6
|
29
29
|
r[0] = 'd' if @stat.directory?
|
30
|
-
r[1] = 'a' unless
|
31
|
-
r[2] = 'r' unless
|
32
|
-
r[3] = 'h' unless
|
33
|
-
r[4] = 's' unless
|
30
|
+
r[1] = 'a' unless @attrs.nobits?(FILE_ATTRIBUTE_ARCHIVE)
|
31
|
+
r[2] = 'r' unless @attrs.nobits?(FILE_ATTRIBUTE_READONLY)
|
32
|
+
r[3] = 'h' unless @attrs.nobits?(FILE_ATTRIBUTE_HIDDEN)
|
33
|
+
r[4] = 's' unless @attrs.nobits?(FILE_ATTRIBUTE_SYSTEM)
|
34
34
|
r[5] = 'l' if File.symlink? @fname
|
35
35
|
r.join
|
36
36
|
end
|
@@ -17,7 +17,7 @@ module AmazingPrint
|
|
17
17
|
|
18
18
|
def format
|
19
19
|
vars = variables.map do |var|
|
20
|
-
property = var.to_s[1
|
20
|
+
property = var.to_s[1..].to_sym # to_s because of some monkey patching done by Puppet.
|
21
21
|
accessor = if object.respond_to?(:"#{property}=")
|
22
22
|
object.respond_to?(property) ? :accessor : :writer
|
23
23
|
else
|
@@ -17,7 +17,7 @@ module AmazingPrint
|
|
17
17
|
|
18
18
|
def format
|
19
19
|
vars = variables.map do |var|
|
20
|
-
property = var.to_s[1
|
20
|
+
property = var.to_s[1..].to_sym # to_s because of some monkey patching done by Puppet.
|
21
21
|
accessor = if struct.respond_to?(:"#{property}=")
|
22
22
|
struct.respond_to?(property) ? :accessor : :writer
|
23
23
|
else
|
@@ -192,7 +192,7 @@ module AmazingPrint
|
|
192
192
|
#---------------------------------------------------------------------------
|
193
193
|
def merge_custom_defaults!
|
194
194
|
load_dotfile
|
195
|
-
merge_options!(AmazingPrint.defaults) if AmazingPrint.defaults.is_a?(Hash)
|
195
|
+
merge_options!(AmazingPrint.defaults.dup) if AmazingPrint.defaults.is_a?(Hash)
|
196
196
|
rescue StandardError => e
|
197
197
|
warn "Could not load '.aprc' from ENV['HOME']: #{e}"
|
198
198
|
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amazing_print
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Dvorkin
|
8
8
|
- Kevin McCormackPatrik Wenger
|
9
|
-
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2025-01-07 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: 'Great Ruby debugging companion: pretty print Ruby objects to visualize
|
15
14
|
their structure. Supports custom object formatting via plugins'
|
@@ -18,15 +17,9 @@ executables: []
|
|
18
17
|
extensions: []
|
19
18
|
extra_rdoc_files: []
|
20
19
|
files:
|
21
|
-
- ".gitignore"
|
22
|
-
- Appraisals
|
23
20
|
- CHANGELOG.md
|
24
21
|
- CONTRIBUTING.md
|
25
|
-
- Gemfile
|
26
|
-
- Gemfile.lock
|
27
|
-
- LICENSE
|
28
22
|
- README.md
|
29
|
-
- Rakefile
|
30
23
|
- lib/amazing_print.rb
|
31
24
|
- lib/amazing_print/colorize.rb
|
32
25
|
- lib/amazing_print/colors.rb
|
@@ -64,60 +57,11 @@ files:
|
|
64
57
|
- lib/amazing_print/inspector.rb
|
65
58
|
- lib/amazing_print/version.rb
|
66
59
|
- lib/ap.rb
|
67
|
-
- spec/active_record_helper.rb
|
68
|
-
- spec/colors_spec.rb
|
69
|
-
- spec/core_ext/logger_spec.rb
|
70
|
-
- spec/ext/action_controller_spec.rb
|
71
|
-
- spec/ext/action_view_spec.rb
|
72
|
-
- spec/ext/active_model_spec.rb
|
73
|
-
- spec/ext/active_record_spec.rb
|
74
|
-
- spec/ext/active_support_spec.rb
|
75
|
-
- spec/ext/mongo_mapper_spec.rb
|
76
|
-
- spec/ext/mongoid_spec.rb
|
77
|
-
- spec/ext/nobrainer_spec.rb
|
78
|
-
- spec/ext/nokogiri_spec.rb
|
79
|
-
- spec/ext/ostruct_spec.rb
|
80
|
-
- spec/ext/ripple_spec.rb
|
81
|
-
- spec/ext/sequel_spec.rb
|
82
|
-
- spec/formats_spec.rb
|
83
|
-
- spec/methods_spec.rb
|
84
|
-
- spec/misc_spec.rb
|
85
|
-
- spec/objects_spec.rb
|
86
|
-
- spec/sequel_helper.rb
|
87
|
-
- spec/spec_helper.rb
|
88
|
-
- spec/support/active_record_data.rb
|
89
|
-
- spec/support/active_record_data/3_2_diana.txt
|
90
|
-
- spec/support/active_record_data/3_2_diana_legacy.txt
|
91
|
-
- spec/support/active_record_data/3_2_multi.txt
|
92
|
-
- spec/support/active_record_data/3_2_multi_legacy.txt
|
93
|
-
- spec/support/active_record_data/4_0_diana.txt
|
94
|
-
- spec/support/active_record_data/4_0_multi.txt
|
95
|
-
- spec/support/active_record_data/4_1_diana.txt
|
96
|
-
- spec/support/active_record_data/4_1_multi.txt
|
97
|
-
- spec/support/active_record_data/4_2_diana.txt
|
98
|
-
- spec/support/active_record_data/4_2_diana_legacy.txt
|
99
|
-
- spec/support/active_record_data/4_2_multi.txt
|
100
|
-
- spec/support/active_record_data/4_2_multi_legacy.txt
|
101
|
-
- spec/support/active_record_data/5_0_diana.txt
|
102
|
-
- spec/support/active_record_data/5_0_multi.txt
|
103
|
-
- spec/support/active_record_data/5_1_diana.txt
|
104
|
-
- spec/support/active_record_data/5_1_multi.txt
|
105
|
-
- spec/support/active_record_data/5_2_diana.txt
|
106
|
-
- spec/support/active_record_data/5_2_multi.txt
|
107
|
-
- spec/support/active_record_data/6_0_diana.txt
|
108
|
-
- spec/support/active_record_data/6_0_multi.txt
|
109
|
-
- spec/support/active_record_data/6_1_diana.txt
|
110
|
-
- spec/support/active_record_data/6_1_multi.txt
|
111
|
-
- spec/support/active_record_data/7_0_diana.txt
|
112
|
-
- spec/support/active_record_data/7_0_multi.txt
|
113
|
-
- spec/support/ext_verifier.rb
|
114
|
-
- spec/support/mongoid_versions.rb
|
115
|
-
- spec/support/rails_versions.rb
|
116
60
|
homepage: https://github.com/amazing-print/amazing_print
|
117
61
|
licenses:
|
118
62
|
- MIT
|
119
|
-
metadata:
|
120
|
-
|
63
|
+
metadata:
|
64
|
+
changelog_uri: https://github.com/amazing-print/amazing_print/blob/master/CHANGELOG.md
|
121
65
|
rdoc_options: []
|
122
66
|
require_paths:
|
123
67
|
- lib
|
@@ -125,15 +69,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
69
|
requirements:
|
126
70
|
- - ">="
|
127
71
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
72
|
+
version: 3.0.0
|
129
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
74
|
requirements:
|
131
75
|
- - ">="
|
132
76
|
- !ruby/object:Gem::Version
|
133
77
|
version: '0'
|
134
78
|
requirements: []
|
135
|
-
rubygems_version: 3.
|
136
|
-
signing_key:
|
79
|
+
rubygems_version: 3.6.2
|
137
80
|
specification_version: 4
|
138
81
|
summary: Pretty print Ruby objects with proper indentation and colors
|
139
82
|
test_files: []
|
data/.gitignore
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
## MAC OS
|
2
|
-
.DS_Store
|
3
|
-
|
4
|
-
## TEXTMATE
|
5
|
-
*.tmproj
|
6
|
-
tmtags
|
7
|
-
|
8
|
-
## EMACS
|
9
|
-
*~
|
10
|
-
\#*
|
11
|
-
.\#*
|
12
|
-
|
13
|
-
## VIM
|
14
|
-
*.swp
|
15
|
-
|
16
|
-
## RUBYMINE
|
17
|
-
.idea
|
18
|
-
|
19
|
-
## PROJECT::GENERAL
|
20
|
-
coverage
|
21
|
-
rdoc
|
22
|
-
pkg
|
23
|
-
.ruby-version
|
24
|
-
gemfiles/*.gemfile.lock
|
25
|
-
Gemfile.lock
|
26
|
-
/tmp
|
27
|
-
/.bundle
|
28
|
-
/gemfiles/.bundle
|
29
|
-
|
30
|
-
## PROJECT::RVM
|
31
|
-
.rvmrc
|
32
|
-
|
33
|
-
# PROJECT::RBENV
|
34
|
-
.ruby-gemset
|
35
|
-
*.gem
|
data/Appraisals
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
if RUBY_VERSION < '3'
|
4
|
-
appraise 'rails-5.2' do
|
5
|
-
gem 'activerecord-jdbcsqlite3-adapter', '~> 52.0', platform: :jruby
|
6
|
-
gem 'rails', '~> 5.2.0'
|
7
|
-
gem 'sqlite3', platform: :mri
|
8
|
-
end
|
9
|
-
|
10
|
-
appraise 'rails-6.0' do
|
11
|
-
gem 'activerecord-jdbcsqlite3-adapter', '~> 60.0', platform: :jruby
|
12
|
-
gem 'rails', '~> 6.0.0'
|
13
|
-
gem 'sqlite3', platform: :mri
|
14
|
-
end
|
15
|
-
|
16
|
-
appraise 'mongoid-4.0' do
|
17
|
-
# https://github.com/rails/rails/issues/34822#issuecomment-570670516
|
18
|
-
gem 'bigdecimal', '~> 1.4', platforms: :mri
|
19
|
-
gem 'mongoid', '~> 4.0.0'
|
20
|
-
end
|
21
|
-
|
22
|
-
appraise 'mongoid-5.0' do
|
23
|
-
# https://github.com/rails/rails/issues/34822#issuecomment-570670516
|
24
|
-
gem 'bigdecimal', '~> 1.4', platforms: :mri
|
25
|
-
gem 'mongoid', '~> 5.0.0'
|
26
|
-
end
|
27
|
-
|
28
|
-
appraise 'mongoid-6.0' do
|
29
|
-
gem 'mongoid', '~> 6.0.0'
|
30
|
-
end
|
31
|
-
|
32
|
-
appraise 'mongo_mapper' do
|
33
|
-
gem 'activemodel', '~> 4.2.0'
|
34
|
-
gem 'activesupport', '~> 4.2.0'
|
35
|
-
gem 'bigdecimal', '~> 1.4', platforms: :mri
|
36
|
-
gem 'mongo_mapper', '~> 0.14'
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
if RUBY_VERSION >= '2.7'
|
41
|
-
appraise 'rails-7.0' do
|
42
|
-
gem 'activerecord-jdbcsqlite3-adapter', '~> 70.0', platform: :jruby
|
43
|
-
gem 'rails', '~> 7.0.0'
|
44
|
-
gem 'sqlite3', platform: :mri
|
45
|
-
end
|
46
|
-
|
47
|
-
appraise 'mongoid-7.0' do
|
48
|
-
gem 'mongoid', '~> 7.0.0'
|
49
|
-
end
|
50
|
-
|
51
|
-
appraise 'mongoid-8.0' do
|
52
|
-
gem 'mongoid', '~> 8.0.0'
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
appraise 'rails-6.1' do
|
57
|
-
gem 'activerecord-jdbcsqlite3-adapter', '~> 61.0', platform: :jruby
|
58
|
-
gem 'rails', '~> 6.1.0'
|
59
|
-
gem 'sqlite3', platform: :mri
|
60
|
-
end
|
61
|
-
|
62
|
-
appraise 'sequel-5.0' do
|
63
|
-
gem 'jdbc-sqlite3', platform: :jruby
|
64
|
-
gem 'sequel', '~> 5.0'
|
65
|
-
gem 'sqlite3', platform: :mri
|
66
|
-
end
|
data/Gemfile
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source 'https://rubygems.org'
|
4
|
-
|
5
|
-
# Specify your gem's dependencies in amazing_print.gemspec
|
6
|
-
gemspec
|
7
|
-
|
8
|
-
# Development dependencies
|
9
|
-
# Update this once https://github.com/thoughtbot/appraisal/pull/202 is released
|
10
|
-
gem 'appraisal', git: 'https://github.com/thoughtbot/appraisal.git', branch: :main
|
11
|
-
|
12
|
-
gem 'bigdecimal'
|
13
|
-
gem 'fakefs', '~> 1.2'
|
14
|
-
gem 'nokogiri', '~> 1.10'
|
15
|
-
gem 'pry'
|
16
|
-
gem 'rspec', '~> 3.9'
|
17
|
-
gem 'rubocop', '~> 1.20'
|
18
|
-
gem 'rubocop-rspec', '~> 2.4'
|
data/Gemfile.lock
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/thoughtbot/appraisal.git
|
3
|
-
revision: feb78bcc6177038399bff098cb6c2bd4bca4972a
|
4
|
-
branch: main
|
5
|
-
specs:
|
6
|
-
appraisal (2.5.0)
|
7
|
-
bundler
|
8
|
-
rake
|
9
|
-
thor (>= 0.14.0)
|
10
|
-
|
11
|
-
PATH
|
12
|
-
remote: .
|
13
|
-
specs:
|
14
|
-
amazing_print (1.5.0)
|
15
|
-
|
16
|
-
GEM
|
17
|
-
remote: https://rubygems.org/
|
18
|
-
specs:
|
19
|
-
ast (2.4.2)
|
20
|
-
bigdecimal (3.1.6)
|
21
|
-
coderay (1.1.3)
|
22
|
-
diff-lcs (1.5.0)
|
23
|
-
fakefs (1.9.0)
|
24
|
-
json (2.7.1)
|
25
|
-
language_server-protocol (3.17.0.3)
|
26
|
-
method_source (1.0.0)
|
27
|
-
nokogiri (1.16.0-x86_64-linux)
|
28
|
-
racc (~> 1.4)
|
29
|
-
parallel (1.24.0)
|
30
|
-
parser (3.3.0.2)
|
31
|
-
ast (~> 2.4.1)
|
32
|
-
racc
|
33
|
-
pry (0.14.2)
|
34
|
-
coderay (~> 1.1)
|
35
|
-
method_source (~> 1.0)
|
36
|
-
racc (1.7.3)
|
37
|
-
rainbow (3.1.1)
|
38
|
-
rake (13.1.0)
|
39
|
-
regexp_parser (2.9.0)
|
40
|
-
rexml (3.2.6)
|
41
|
-
rspec (3.12.0)
|
42
|
-
rspec-core (~> 3.12.0)
|
43
|
-
rspec-expectations (~> 3.12.0)
|
44
|
-
rspec-mocks (~> 3.12.0)
|
45
|
-
rspec-core (3.12.2)
|
46
|
-
rspec-support (~> 3.12.0)
|
47
|
-
rspec-expectations (3.12.3)
|
48
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
49
|
-
rspec-support (~> 3.12.0)
|
50
|
-
rspec-mocks (3.12.6)
|
51
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
52
|
-
rspec-support (~> 3.12.0)
|
53
|
-
rspec-support (3.12.1)
|
54
|
-
rubocop (1.59.0)
|
55
|
-
json (~> 2.3)
|
56
|
-
language_server-protocol (>= 3.17.0)
|
57
|
-
parallel (~> 1.10)
|
58
|
-
parser (>= 3.2.2.4)
|
59
|
-
rainbow (>= 2.2.2, < 4.0)
|
60
|
-
regexp_parser (>= 1.8, < 3.0)
|
61
|
-
rexml (>= 3.2.5, < 4.0)
|
62
|
-
rubocop-ast (>= 1.30.0, < 2.0)
|
63
|
-
ruby-progressbar (~> 1.7)
|
64
|
-
unicode-display_width (>= 2.4.0, < 3.0)
|
65
|
-
rubocop-ast (1.30.0)
|
66
|
-
parser (>= 3.2.1.0)
|
67
|
-
rubocop-capybara (2.20.0)
|
68
|
-
rubocop (~> 1.41)
|
69
|
-
rubocop-factory_bot (2.25.1)
|
70
|
-
rubocop (~> 1.41)
|
71
|
-
rubocop-rspec (2.26.1)
|
72
|
-
rubocop (~> 1.40)
|
73
|
-
rubocop-capybara (~> 2.17)
|
74
|
-
rubocop-factory_bot (~> 2.22)
|
75
|
-
ruby-progressbar (1.13.0)
|
76
|
-
thor (1.3.0)
|
77
|
-
unicode-display_width (2.5.0)
|
78
|
-
|
79
|
-
PLATFORMS
|
80
|
-
x86_64-linux
|
81
|
-
|
82
|
-
DEPENDENCIES
|
83
|
-
amazing_print!
|
84
|
-
appraisal!
|
85
|
-
bigdecimal
|
86
|
-
fakefs (~> 1.2)
|
87
|
-
nokogiri (~> 1.10)
|
88
|
-
pry
|
89
|
-
rspec (~> 3.9)
|
90
|
-
rubocop (~> 1.20)
|
91
|
-
rubocop-rspec (~> 2.4)
|
92
|
-
|
93
|
-
BUNDLED WITH
|
94
|
-
2.5.4
|
data/LICENSE
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2010-2019 Michael Dvorkin
|
4
|
-
Copyright (c) 2020 AmazingPrint
|
5
|
-
|
6
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
-
of this software and associated documentation files (the "Software"), to deal
|
8
|
-
in the Software without restriction, including without limitation the rights
|
9
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
-
copies of the Software, and to permit persons to whom the Software is
|
11
|
-
furnished to do so, subject to the following conditions:
|
12
|
-
|
13
|
-
The above copyright notice and this permission notice shall be included in all
|
14
|
-
copies or substantial portions of the Software.
|
15
|
-
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22
|
-
SOFTWARE.
|
data/Rakefile
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler/setup'
|
5
|
-
|
6
|
-
require 'bundler'
|
7
|
-
Bundler::GemHelper.install_tasks
|
8
|
-
|
9
|
-
task :default do
|
10
|
-
if ENV['BUNDLE_GEMFILE'] =~ /gemfiles/
|
11
|
-
Rake::Task['spec'].invoke
|
12
|
-
else
|
13
|
-
Rake::Task['appraise'].invoke
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
task :appraise do
|
18
|
-
exec 'appraisal install && appraisal rake'
|
19
|
-
end
|
20
|
-
|
21
|
-
desc 'Run all amazing_print gem specs'
|
22
|
-
task :spec do
|
23
|
-
# Run plain rspec command without RSpec::Core::RakeTask overrides.
|
24
|
-
exec 'rspec -c spec'
|
25
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
if ExtVerifier.has_rails?
|
4
|
-
# Required to use the column support
|
5
|
-
module Rails
|
6
|
-
def self.env
|
7
|
-
{}
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
# Establish connection to in-memory SQLite DB
|
12
|
-
ActiveRecord::Base.establish_connection adapter: 'sqlite3', database: ':memory:'
|
13
|
-
|
14
|
-
# Create the users table
|
15
|
-
ActiveRecord::Migration.verbose = false
|
16
|
-
ActiveRecord::Migration.create_table :users do |t|
|
17
|
-
t.string :name
|
18
|
-
t.integer :rank
|
19
|
-
t.boolean :admin
|
20
|
-
t.datetime :created_at
|
21
|
-
end
|
22
|
-
|
23
|
-
ActiveRecord::Migration.create_table :emails do |t|
|
24
|
-
t.references :user
|
25
|
-
t.string :email_address
|
26
|
-
end
|
27
|
-
|
28
|
-
# Create models
|
29
|
-
class User < ActiveRecord::Base; has_many :emails; end
|
30
|
-
|
31
|
-
class SubUser < User; end
|
32
|
-
|
33
|
-
class Email < ActiveRecord::Base; belongs_to :user; end
|
34
|
-
|
35
|
-
class TableFreeModel
|
36
|
-
include ::ActiveModel::Validations
|
37
|
-
attr_reader(:name)
|
38
|
-
|
39
|
-
def attributes
|
40
|
-
{ 'name' => name }
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|