amalgalite 1.4.1-x86-mingw32 → 1.7.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +5 -5
  2. data/CONTRIBUTING.md +11 -0
  3. data/HISTORY.md +45 -0
  4. data/LICENSE +2 -0
  5. data/Manifest.txt +2 -1
  6. data/README.md +10 -14
  7. data/Rakefile +5 -5
  8. data/examples/fts5.rb +152 -0
  9. data/ext/amalgalite/c/amalgalite.c +26 -0
  10. data/ext/amalgalite/c/amalgalite_constants.c +1110 -56
  11. data/ext/amalgalite/c/amalgalite_database.c +80 -70
  12. data/ext/amalgalite/c/extconf.rb +31 -4
  13. data/ext/amalgalite/c/gen_constants.rb +313 -153
  14. data/ext/amalgalite/c/sqlite3.c +103967 -33836
  15. data/ext/amalgalite/c/sqlite3.h +5438 -1061
  16. data/ext/amalgalite/c/sqlite3ext.h +148 -12
  17. data/lib/amalgalite/2.2/amalgalite.so +0 -0
  18. data/lib/amalgalite/2.3/amalgalite.so +0 -0
  19. data/lib/amalgalite/2.4/amalgalite.so +0 -0
  20. data/lib/amalgalite/2.5/amalgalite.so +0 -0
  21. data/lib/amalgalite/2.6/amalgalite.so +0 -0
  22. data/lib/amalgalite/aggregate.rb +6 -0
  23. data/lib/amalgalite/csv_table_importer.rb +1 -1
  24. data/lib/amalgalite/database.rb +2 -53
  25. data/lib/amalgalite/profile_tap.rb +2 -2
  26. data/lib/amalgalite/statement.rb +5 -2
  27. data/lib/amalgalite/taps/io.rb +5 -2
  28. data/lib/amalgalite/trace_tap.rb +1 -1
  29. data/lib/amalgalite/type_maps/default_map.rb +2 -2
  30. data/lib/amalgalite/type_maps/storage_map.rb +1 -1
  31. data/lib/amalgalite/version.rb +1 -1
  32. data/spec/aggregate_spec.rb +4 -0
  33. data/spec/database_spec.rb +12 -15
  34. data/spec/default_map_spec.rb +1 -1
  35. data/spec/integeration_spec.rb +2 -2
  36. data/spec/json_spec.rb +24 -0
  37. data/spec/sqlite3/version_spec.rb +15 -9
  38. data/spec/storage_map_spec.rb +1 -1
  39. data/tasks/default.rake +3 -10
  40. data/tasks/extension.rake +4 -4
  41. data/tasks/this.rb +7 -5
  42. metadata +33 -25
  43. data/examples/fts3.rb +0 -144
  44. data/lib/amalgalite/1.8/amalgalite.so +0 -0
  45. data/lib/amalgalite/1.9/amalgalite.so +0 -0
  46. data/lib/amalgalite/2.0/amalgalite.so +0 -0
  47. data/lib/amalgalite/2.1/amalgalite.so +0 -0
@@ -17,7 +17,7 @@ module Amalgalite::TypeMaps
17
17
  case obj
18
18
  when Float
19
19
  ::Amalgalite::SQLite3::Constants::DataType::FLOAT
20
- when Fixnum
20
+ when Integer
21
21
  ::Amalgalite::SQLite3::Constants::DataType::INTEGER
22
22
  when NilClass
23
23
  ::Amalgalite::SQLite3::Constants::DataType::NULL
@@ -4,5 +4,5 @@
4
4
  #++
5
5
 
6
6
  module Amalgalite
7
- VERSION = "1.4.1"
7
+ VERSION = "1.7.0"
8
8
  end
@@ -2,6 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  class AggregateTest1 < ::Amalgalite::Aggregate
4
4
  def initialize
5
+ super
5
6
  @name = 'atest1'
6
7
  @arity = -1
7
8
  @count = 0
@@ -96,6 +97,7 @@ describe "Aggregate SQL Functions" do
96
97
  it "handles an error being thrown during the step function" do
97
98
  class AggregateTest5 < AggregateTest1
98
99
  def initialize
100
+ super
99
101
  @name = "atest5"
100
102
  @arity = -1
101
103
  @count = 0
@@ -117,6 +119,7 @@ describe "Aggregate SQL Functions" do
117
119
  it "handles an error being thrown during the finalize function" do
118
120
  class AggregateTest6 < AggregateTest1
119
121
  def initialize
122
+ super
120
123
  @name = "atest6"
121
124
  @count = 0
122
125
  @arity = -1
@@ -131,6 +134,7 @@ describe "Aggregate SQL Functions" do
131
134
 
132
135
  it "handles an error being thrown during initialization in the C extension" do
133
136
  class AggregateTest7 < AggregateTest1
137
+ @called = false
134
138
  def self.called?
135
139
  if @called then
136
140
  raise "Initialization error!"
@@ -119,9 +119,13 @@ describe Amalgalite::Database do
119
119
  sql = "CREATE TABLE trace_test( x, y, z)"
120
120
  s = db.trace_tap = ::Amalgalite::Taps::StringIO.new
121
121
  db.execute( sql )
122
- db.trace_tap.string.should eql("registered as trace tap\n#{sql}\n")
122
+ escaped_sql= Regexp.quote(sql)
123
+ db.trace_tap.string.should match(/registered as trace tap/)
124
+ db.trace_tap.string.should match(/#{escaped_sql}/)
125
+ s.trace_count.should eql(2)
123
126
  db.trace_tap = nil
124
- s.string.should eql("registered as trace tap\n#{sql}\nunregistered as trace tap\n")
127
+ s.trace_count.should eql(3)
128
+ s.string.should match(/unregistered as trace tap/)
125
129
  end
126
130
 
127
131
  it "raises an exception if the wrong type of object is used for tracing" do
@@ -129,18 +133,13 @@ describe Amalgalite::Database do
129
133
  lambda { db.trace_tap = Object.new }.should raise_error(Amalgalite::Error)
130
134
  end
131
135
 
132
- it "raises an exception if the wrong type of object is used for profile" do
133
- db = Amalgalite::Database.new( SpecInfo.test_db )
134
- lambda { db.profile_tap = Object.new }.should raise_error(Amalgalite::Error)
135
- end
136
-
137
136
  it "profiles the execution of code" do
138
137
  db = Amalgalite::Database.new( SpecInfo.test_db )
139
- s = db.profile_tap = ::Amalgalite::Taps::StringIO.new
138
+ s = db.trace_tap = ::Amalgalite::Taps::StringIO.new
140
139
  db.execute_batch( @schema )
141
- db.profile_tap.samplers.size.should eql(6)
142
- db.profile_tap = nil
143
- s.string.should =~ /unregistered as profile tap/m
140
+ db.trace_tap.samplers.size.should eql(5)
141
+ db.trace_tap = nil
142
+ s.string.should =~ /unregistered as trace tap/
144
143
  end
145
144
 
146
145
  it "#execute yields each row when called with a block" do
@@ -167,13 +166,11 @@ describe Amalgalite::Database do
167
166
 
168
167
  it "can clear all registered taps" do
169
168
  db = Amalgalite::Database.new( SpecInfo.test_db )
170
- s = db.profile_tap = ::Amalgalite::Taps::StringIO.new
171
- db.trace_tap = s
169
+ s = db.trace_tap = ::Amalgalite::Taps::StringIO.new
172
170
  db.execute_batch( @schema )
173
- db.profile_tap.samplers.size.should eql(6)
171
+ db.trace_tap.samplers.size.should eql(5)
174
172
  db.clear_taps!
175
173
  s.string.should =~ /unregistered as trace tap/m
176
- s.string.should =~ /unregistered as profile tap/m
177
174
  end
178
175
 
179
176
  it "allows nested transactions even if SQLite under the covers does not" do
@@ -12,7 +12,7 @@ describe Amalgalite::TypeMaps::DefaultMap do
12
12
  @map.bind_type_of( 3.14 ).should == ::Amalgalite::SQLite3::Constants::DataType::FLOAT
13
13
  end
14
14
 
15
- it "Fixnum is bound to DataType::INTGER" do
15
+ it "Integer is bound to DataType::INTGER" do
16
16
  @map.bind_type_of( 42 ).should == ::Amalgalite::SQLite3::Constants::DataType::INTEGER
17
17
  end
18
18
 
@@ -25,7 +25,7 @@ describe "Integration specifications" do
25
25
  "datetime" => { :value => DateTime.now, :klass => DateTime },
26
26
  "timestamp" => { :value => Time.now, :klass => Time } ,
27
27
  "date" => { :value => Date.today, :klass => Date },
28
- "integer" => { :value => 42, :klass => Fixnum } ,
28
+ "integer" => { :value => 42, :klass => Integer },
29
29
  "double" => { :value => 3.14, :klass => Float },
30
30
  "varchar" => { :value => "foobarbaz", :klass => String },
31
31
  "boolean" => { :value => true, :klass => TrueClass },
@@ -36,7 +36,7 @@ describe "Integration specifications" do
36
36
  db.execute "CREATE TABLE t( c #{sql_type} )"
37
37
  db.execute "insert into t (c) values ( ? )", ruby_info[:value]
38
38
  rows = db.execute "select * from t"
39
- rows.first['c'].class.should eql(ruby_info[:klass])
39
+ rows.first['c'].should be_kind_of(ruby_info[:klass])
40
40
 
41
41
  if [ DateTime, Time ].include?( ruby_info[:klass] ) then
42
42
  rows.first['c'].strftime("%Y-%m-%d %H:%M:%S").should eql(ruby_info[:value].strftime("%Y-%m-%d %H:%M:%S"))
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+ require 'amalgalite/sqlite3'
3
+ require 'rbconfig'
4
+
5
+ describe "Amalgalite handles the JSON extension" do
6
+ it "can parse a `json_each` call" do
7
+ db = Amalgalite::Database.new( ":memory:" )
8
+ values = %w[ a b c d e f g ]
9
+ db.execute("CREATE TABLE jtest(id, json)")
10
+ db.execute("INSERT INTO jtest(id, json) values (1, json($json))", { "$json" => values })
11
+ rows = db.execute("SELECT jtest.id as i, value as v FROM jtest, json_each(jtest.json)")
12
+
13
+ rows.size.should eq(values.size)
14
+ end
15
+
16
+ it "can return a proper json column" do
17
+ db = Amalgalite::Database.new( ":memory:" )
18
+ values = %w[ a b c d e f g ]
19
+ db.execute("CREATE TABLE jtest(id INTEGER, json JSON)")
20
+ db.execute("INSERT INTO jtest(id, json) values (1, json($json))", { "$json" => values })
21
+
22
+ db.execute("select * from jtest")
23
+ end
24
+ end
@@ -3,20 +3,26 @@ require 'amalgalite/sqlite3/version'
3
3
 
4
4
  describe "Amalgalite::SQLite3::Version" do
5
5
  it "should have the sqlite3 version" do
6
- expect(Amalgalite::SQLite3::VERSION).to match(/\d\.\d\.\d/)
7
- expect(Amalgalite::SQLite3::Version.to_s).to match( /\d\.\d\.\d/ )
8
- expect(Amalgalite::SQLite3::Version.runtime_version).to match( /\d\.\d\.\d/ )
6
+ expect(Amalgalite::SQLite3::VERSION).to match(/\d+\.\d+\.\d+/)
7
+ expect(Amalgalite::SQLite3::Version.to_s).to match( /\d+\.\d+\.\d+/ )
8
+ expect(Amalgalite::SQLite3::Version.runtime_version).to match( /\d+\.\d+\.\d+/ )
9
9
 
10
- Amalgalite::SQLite3::Version.to_i.should eql(3008011)
11
- Amalgalite::SQLite3::Version.runtime_version_number.should eql(3008011)
10
+ Amalgalite::SQLite3::Version.to_i.should eql(3034000)
11
+ Amalgalite::SQLite3::Version.runtime_version_number.should eql(3034000)
12
12
 
13
13
  Amalgalite::SQLite3::Version::MAJOR.should eql(3)
14
- Amalgalite::SQLite3::Version::MINOR.should eql(8)
15
- Amalgalite::SQLite3::Version::RELEASE.should eql(11)
14
+ Amalgalite::SQLite3::Version::MINOR.should eql(34)
15
+ Amalgalite::SQLite3::Version::RELEASE.should eql(0)
16
16
  expect(Amalgalite::SQLite3::Version.to_a.size).to eql(3)
17
17
 
18
- Amalgalite::SQLite3::Version.compiled_version.should be == "3.8.11.1"
19
- Amalgalite::SQLite3::Version.compiled_version_number.should be == 3008011
18
+ Amalgalite::SQLite3::Version.compiled_version.should be == "3.34.0"
19
+ Amalgalite::SQLite3::Version.compiled_version_number.should be == 3034000
20
20
  Amalgalite::SQLite3::Version.compiled_matches_runtime?.should be == true
21
21
  end
22
+
23
+ it "should have the sqlite3 source id" do
24
+ source_id = "2020-12-01 16:14:00 a26b6597e3ae272231b96f9982c3bcc17ddec2f2b6eb4df06a224b91089fed5b"
25
+ Amalgalite::SQLite3::Version.compiled_source_id.should be == source_id
26
+ Amalgalite::SQLite3::Version.runtime_source_id.should be == source_id
27
+ end
22
28
  end
@@ -12,7 +12,7 @@ describe Amalgalite::TypeMaps::StorageMap do
12
12
  @map.bind_type_of( 3.14 ).should == ::Amalgalite::SQLite3::Constants::DataType::FLOAT
13
13
  end
14
14
 
15
- it "Fixnum is bound to DataType::INTGER" do
15
+ it "Integer is bound to DataType::INTGER" do
16
16
  @map.bind_type_of( 42 ).should == ::Amalgalite::SQLite3::Constants::DataType::INTEGER
17
17
  end
18
18
 
@@ -24,25 +24,18 @@ namespace :develop do
24
24
  File.open( "Gemfile", "w+" ) do |f|
25
25
  f.puts "# DO NOT EDIT - This file is automatically generated"
26
26
  f.puts "# Make changes to Manifest.txt and/or Rakefile and regenerate"
27
- f.puts 'source "https://rubygems.org/"'
27
+ f.puts 'source "https://rubygems.org"'
28
28
  f.puts 'gemspec'
29
29
  end
30
30
  end
31
31
  end
32
- desc "Boostrap development"
32
+ desc "Bootstrap development"
33
33
  task :develop => "develop:default"
34
34
 
35
35
  #------------------------------------------------------------------------------
36
- # Minitest - standard TestTask
36
+ # RSpec - standard TestTask
37
37
  #------------------------------------------------------------------------------
38
38
  begin
39
- require 'rake/testtask'
40
- Rake::TestTask.new( :test ) do |t|
41
- t.ruby_opts = %w[ -w -rubygems ]
42
- t.libs = %w[ lib spec test ]
43
- t.pattern = "{test,spec}/**/{test_*,*_spec}.rb"
44
- end
45
-
46
39
  require 'rspec/core/rake_task'
47
40
  RSpec::Core::RakeTask.new( :test ) do |t|
48
41
  t.ruby_opts = %w[ -w ]
@@ -23,9 +23,9 @@ begin
23
23
  ext.lib_dir = File.join( 'lib', This.name )
24
24
  ext.gem_spec = This.ruby_gemspec
25
25
 
26
- ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
27
- ext.cross_platform = 'i386-mingw32' # forces the Windows platform instead of the default one
28
- # configure options only for cross compile
26
+ ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
27
+ ext.cross_platform = %w[x86-mingw32 x64-mingw32] # forces the Windows platform instead of the default one
28
+ # configure options only for cross compile
29
29
  end
30
30
  end
31
31
 
@@ -35,4 +35,4 @@ rescue LoadError
35
35
  end
36
36
 
37
37
  CLOBBER << FileList["lib/**/*.{jar,so,bundle}"]
38
- CLOBBER << FileList["lib/#{This.name}/{1.8,1.9,2.0,2.1,2.2}/"]
38
+ CLOBBER << FileList["lib/#{This.name}/{1,2}.*/"]
@@ -25,10 +25,10 @@ class ThisProject
25
25
  #
26
26
  # Yields self
27
27
  def initialize(&block)
28
- @exclude_from_manifest = Regexp.union(/\.(git|DS_Store)/,
29
- /^(doc|coverage|pkg|tmp|Gemfile(\.lock)?)/,
28
+ @exclude_from_manifest = Regexp.union(/\.(git|DS_Store|ruby-version)/,
29
+ /^(doc|coverage|pkg|tmp|.semaphore|Gemfile(\.lock)?)/,
30
30
  /^[^\/]+\.gemspec/,
31
- /\.(swp|jar|bundle|so|rvmrc|travis.yml)$/,
31
+ /\.(swp|jar|bundle|so|rvmrc|travis.yml|byebug_history)$/,
32
32
  /~$/)
33
33
  @gemspecs = Hash.new
34
34
  yield self if block_given?
@@ -146,7 +146,7 @@ class ThisProject
146
146
  spec.rdoc_options = [ "--main" , 'README.md',
147
147
  "--markup", "tomdoc" ]
148
148
 
149
- spec.required_ruby_version = '>= 1.9.3'
149
+ spec.required_ruby_version = '>= 2.2.2'
150
150
  end
151
151
  end
152
152
 
@@ -194,7 +194,9 @@ class ThisProject
194
194
  end
195
195
 
196
196
  def license
197
- "ISC"
197
+ license_file = project_path("LICENSE")
198
+ line = license_file.readlines.first
199
+ line.split(/\s+/).first
198
200
  end
199
201
 
200
202
  # Internal: The path to the gemspec file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amalgalite
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.7.0
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Jeremy Hinegardner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-14 00:00:00.000000000 Z
11
+ date: 2021-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arrayfields
@@ -44,70 +44,70 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '13.0'
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: '10.0'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake-compiler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.9'
61
+ version: '1.0'
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: '0.9'
68
+ version: '1.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake-compiler-dock
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.4'
75
+ version: '0.6'
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: '0.4'
82
+ version: '0.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rdoc
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '4.0'
89
+ version: '6.0'
90
90
  type: :development
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: '4.0'
96
+ version: '6.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.9'
103
+ version: '0.14'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.9'
110
+ version: '0.14'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: zip
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,12 +122,16 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2.0'
125
- description: 'Amalgalite embeds the SQLite database engine in a ruby extension. There
126
- is no need to install SQLite separately. Look in the examples/ directory to see
125
+ description: 'Amalgalite embeds the SQLite database engine in a ruby extension. There
126
+ is no need to install SQLite separately. Look in the examples/ directory to see
127
127
  * general usage * blob io * schema information * custom functions * custom aggregates
128
128
  * requiring ruby code from a database * full text search Also Scroll through Amalgalite::Database
129
129
  for a quick example, and a general overview of the API. Amalgalite adds in the following
130
- additional non-default SQLite extensions: * (http://sqlite.org/rtree.html) * (http://sqlite.org/fts3.html)'
130
+ additional non-default SQLite extensions: * (http://sqlite.org/rtree.html) * (http://sqlite.org/fts5.html)
131
+ - both fts3 and fts5 * (https://www.sqlite.org/geopoly.html) * (https://www.sqlite.org/json1.html)
132
+ Other extensions are add that might not be usable/visible by users of the gem. The
133
+ full list of extensions added is in (ext/amalgalite/c/extconf.rb). And those may
134
+ be cross referenced against the (https://www.sqlite.org/compile.html)'
131
135
  email: jeremy@copiousfreetime.org
132
136
  executables:
133
137
  - amalgalite-pack
@@ -155,7 +159,7 @@ files:
155
159
  - examples/bootstrap.rb
156
160
  - examples/define_aggregate.rb
157
161
  - examples/define_function.rb
158
- - examples/fts3.rb
162
+ - examples/fts5.rb
159
163
  - examples/gem-db.rb
160
164
  - examples/require_me.rb
161
165
  - examples/requires.rb
@@ -175,11 +179,11 @@ files:
175
179
  - ext/amalgalite/c/sqlite3_options.h
176
180
  - ext/amalgalite/c/sqlite3ext.h
177
181
  - lib/amalgalite.rb
178
- - lib/amalgalite/1.8/amalgalite.so
179
- - lib/amalgalite/1.9/amalgalite.so
180
- - lib/amalgalite/2.0/amalgalite.so
181
- - lib/amalgalite/2.1/amalgalite.so
182
182
  - lib/amalgalite/2.2/amalgalite.so
183
+ - lib/amalgalite/2.3/amalgalite.so
184
+ - lib/amalgalite/2.4/amalgalite.so
185
+ - lib/amalgalite/2.5/amalgalite.so
186
+ - lib/amalgalite/2.6/amalgalite.so
183
187
  - lib/amalgalite/aggregate.rb
184
188
  - lib/amalgalite/blob.rb
185
189
  - lib/amalgalite/boolean.rb
@@ -229,6 +233,7 @@ files:
229
233
  - spec/function_spec.rb
230
234
  - spec/integeration_spec.rb
231
235
  - spec/iso_3166_database.rb
236
+ - spec/json_spec.rb
232
237
  - spec/packer_spec.rb
233
238
  - spec/paths_spec.rb
234
239
  - spec/progress_handler_spec.rb
@@ -267,19 +272,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
267
272
  requirements:
268
273
  - - ">="
269
274
  - !ruby/object:Gem::Version
270
- version: 1.9.3
275
+ version: '2.2'
276
+ - - "<"
277
+ - !ruby/object:Gem::Version
278
+ version: 2.7.dev
271
279
  required_rubygems_version: !ruby/object:Gem::Requirement
272
280
  requirements:
273
281
  - - ">="
274
282
  - !ruby/object:Gem::Version
275
283
  version: '0'
276
284
  requirements: []
277
- rubyforge_project:
278
- rubygems_version: 2.4.8
285
+ rubygems_version: 3.1.4
279
286
  signing_key:
280
287
  specification_version: 4
281
- summary: Amalgalite embeds the SQLite database engine in a ruby extension. There
282
- is no need to install SQLite separately.
288
+ summary: Amalgalite embeds the SQLite database engine in a ruby extension. There is
289
+ no need to install SQLite separately.
283
290
  test_files:
284
291
  - spec/aggregate_spec.rb
285
292
  - spec/amalgalite_spec.rb
@@ -295,6 +302,7 @@ test_files:
295
302
  - spec/function_spec.rb
296
303
  - spec/integeration_spec.rb
297
304
  - spec/iso_3166_database.rb
305
+ - spec/json_spec.rb
298
306
  - spec/packer_spec.rb
299
307
  - spec/paths_spec.rb
300
308
  - spec/progress_handler_spec.rb