armg 0.7.1 → 0.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 +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +18 -0
- data/.travis.yml +5 -7
- data/Appraisals +8 -2
- data/Gemfile +2 -0
- data/Rakefile +8 -1
- data/armg.gemspec +10 -7
- data/bin/console +4 -3
- data/docker-compose.yml +1 -1
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/ar50.gemfile +1 -1
- data/gemfiles/ar51.gemfile +1 -1
- data/gemfiles/ar52.gemfile +7 -0
- data/lib/armg.rb +2 -0
- data/lib/armg/abstract_mysql_adapter_ext.rb +14 -12
- data/lib/armg/armg.rb +6 -12
- data/lib/armg/mysql_geometry.rb +19 -15
- data/lib/armg/table_definition_ext.rb +7 -3
- data/lib/armg/utils.rb +15 -11
- data/lib/armg/version.rb +3 -1
- data/lib/armg/wkb_deserializer.rb +15 -11
- data/lib/armg/wkb_serializer.rb +16 -12
- data/lib/armg/wkt_deserializer.rb +23 -18
- data/lib/armg/wkt_serializer.rb +23 -18
- metadata +47 -18
- data/test.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8c66526b53ea3a9ca16e83155baa7545a81f509b82a3db2980f9260225f10cde
|
4
|
+
data.tar.gz: 23161898a3807a84c83c37f3638e4bfa10dbf732acf8f6d9c132ce3bac6309ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffb9e81eb9f5caac6668e86be3807d6371ce1b202b37292abdd91b531b3c19f01a0f477dd62cf78187ecdceb2c13e64a736559baccf94f6a4e0cf5884dec7bfa
|
7
|
+
data.tar.gz: 4821ba89863c87396a04a18e5c2703a0bc10b50ac5a752bf735f521426682519fd7011d6bba984eacdca98d6e15cae170659400e22007e46dd1ff281b9fc73dd
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
AllCops:
|
2
|
+
Exclude:
|
3
|
+
- gemfiles/**/*
|
4
|
+
- test.rb
|
5
|
+
TargetRubyVersion: 2.4
|
6
|
+
Bundler/OrderedGems:
|
7
|
+
Include:
|
8
|
+
- "Appraisals"
|
9
|
+
Layout/LineLength:
|
10
|
+
Enabled: false
|
11
|
+
Metrics/BlockLength:
|
12
|
+
Enabled: false
|
13
|
+
Naming/MethodParameterName:
|
14
|
+
Enabled: false
|
15
|
+
Style/AccessModifierDeclarations:
|
16
|
+
Enabled: false
|
17
|
+
Style/Documentation:
|
18
|
+
Enabled: false
|
data/.travis.yml
CHANGED
@@ -1,18 +1,17 @@
|
|
1
|
-
dist:
|
1
|
+
dist: xenial
|
2
2
|
sudo: required
|
3
3
|
group: edge
|
4
4
|
services:
|
5
5
|
- docker
|
6
6
|
language: ruby
|
7
7
|
rvm:
|
8
|
-
- 2.
|
9
|
-
- 2.
|
10
|
-
- 2.
|
8
|
+
- 2.4.9
|
9
|
+
- 2.5.7
|
10
|
+
- 2.6.5
|
11
11
|
gemfile:
|
12
12
|
- gemfiles/ar50.gemfile
|
13
13
|
- gemfiles/ar51.gemfile
|
14
|
-
|
15
|
-
- gem install bundler
|
14
|
+
- gemfiles/ar52.gemfile
|
16
15
|
before_script:
|
17
16
|
- sudo service mysql stop
|
18
17
|
- docker-compose up -d
|
@@ -21,7 +20,6 @@ before_script:
|
|
21
20
|
- for i in {1..60}; do mysql_ping 10057 && break; sleep 1; done
|
22
21
|
cache:
|
23
22
|
- bundler
|
24
|
-
- apt
|
25
23
|
env:
|
26
24
|
- ARMG_TEST_MYSQL_PORT=10056 ARMG_TEST_MYSQL_ENGINE=MyISAM
|
27
25
|
- ARMG_TEST_MYSQL_PORT=10057 ARMG_TEST_MYSQL_ENGINE=MyISAM
|
data/Appraisals
CHANGED
@@ -1,7 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
appraise 'ar50' do
|
2
|
-
gem 'activerecord', '~> 5.0'
|
4
|
+
gem 'activerecord', '~> 5.0.0'
|
3
5
|
end
|
4
6
|
|
5
7
|
appraise 'ar51' do
|
6
|
-
gem 'activerecord', '~> 5.1'
|
8
|
+
gem 'activerecord', '~> 5.1.0'
|
9
|
+
end
|
10
|
+
|
11
|
+
appraise 'ar52' do
|
12
|
+
gem 'activerecord', '~> 5.2.0'
|
7
13
|
end
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'bundler/gem_tasks'
|
2
4
|
require 'rspec/core/rake_task'
|
5
|
+
require 'rubocop/rake_task'
|
3
6
|
|
4
7
|
RSpec::Core::RakeTask.new(:spec)
|
5
8
|
|
6
|
-
|
9
|
+
RuboCop::RakeTask.new do |task|
|
10
|
+
task.options = %w[-c .rubocop.yml]
|
11
|
+
end
|
12
|
+
|
13
|
+
task default: %i[rubocop spec]
|
data/armg.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'armg/version'
|
5
6
|
|
@@ -9,8 +10,8 @@ Gem::Specification.new do |spec|
|
|
9
10
|
spec.authors = ['Genki Sugawara']
|
10
11
|
spec.email = ['sugawara@cookpad.com']
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
13
|
+
spec.summary = 'Add MySQL geometry type to Active Record.'
|
14
|
+
spec.description = 'Add MySQL geometry type to Active Record.'
|
14
15
|
spec.homepage = 'https://github.com/winebarrel/armg'
|
15
16
|
spec.license = 'MIT'
|
16
17
|
|
@@ -23,10 +24,12 @@ Gem::Specification.new do |spec|
|
|
23
24
|
|
24
25
|
spec.add_dependency 'activerecord', '~> 5'
|
25
26
|
spec.add_dependency 'rgeo'
|
27
|
+
spec.add_development_dependency 'appraisal', '>= 2.2.0'
|
26
28
|
spec.add_development_dependency 'bundler'
|
29
|
+
spec.add_development_dependency 'erbh', '>= 0.1.2'
|
30
|
+
spec.add_development_dependency 'mysql2'
|
27
31
|
spec.add_development_dependency 'rake'
|
28
32
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
29
|
-
spec.add_development_dependency '
|
30
|
-
spec.add_development_dependency '
|
31
|
-
spec.add_development_dependency 'appraisal', '>= 2.2.0'
|
33
|
+
spec.add_development_dependency 'rspec-match_ruby', '>= 0.1.3'
|
34
|
+
spec.add_development_dependency 'rubocop'
|
32
35
|
end
|
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'armg'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "armg"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
data/docker-compose.yml
CHANGED
data/gemfiles/ar50.gemfile
CHANGED
data/gemfiles/ar51.gemfile
CHANGED
data/lib/armg.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Armg
|
4
|
+
module AbstractMysqlAdapterExt
|
5
|
+
def initialize_type_map(m = type_map)
|
6
|
+
super
|
7
|
+
m.register_type(/^geometry/i, Armg::MysqlGeometry.new)
|
8
|
+
end
|
6
9
|
|
7
|
-
|
8
|
-
|
10
|
+
def indexes(*args, &block)
|
11
|
+
is = super
|
9
12
|
|
10
|
-
|
11
|
-
|
12
|
-
i.lengths = nil
|
13
|
+
is.each do |i|
|
14
|
+
i.lengths = nil if i.type == :spatial && i.respond_to?(:lengths=)
|
13
15
|
end
|
14
|
-
end
|
15
16
|
|
16
|
-
|
17
|
+
is
|
18
|
+
end
|
17
19
|
end
|
18
20
|
end
|
data/lib/armg/armg.rb
CHANGED
@@ -1,22 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Armg
|
2
4
|
@deserializer = Armg::WkbDeserializer.new
|
3
5
|
@serializer = Armg::WkbSerializer.new
|
4
6
|
|
5
7
|
class << self
|
6
|
-
|
7
|
-
@deserializer
|
8
|
-
end
|
8
|
+
attr_reader :deserializer
|
9
9
|
|
10
|
-
|
11
|
-
@deserializer = v
|
12
|
-
end
|
10
|
+
attr_writer :deserializer
|
13
11
|
|
14
|
-
|
15
|
-
@serializer
|
16
|
-
end
|
12
|
+
attr_reader :serializer
|
17
13
|
|
18
|
-
|
19
|
-
@serializer = v
|
20
|
-
end
|
14
|
+
attr_writer :serializer
|
21
15
|
end
|
22
16
|
end
|
data/lib/armg/mysql_geometry.rb
CHANGED
@@ -1,21 +1,25 @@
|
|
1
|
-
|
2
|
-
def type
|
3
|
-
:geometry
|
4
|
-
end
|
1
|
+
# frozen_string_literal: true
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
module Armg
|
4
|
+
class MysqlGeometry < ActiveModel::Type::Value
|
5
|
+
def type
|
6
|
+
:geometry
|
7
|
+
end
|
8
|
+
|
9
|
+
def deserialize(value)
|
10
|
+
if value.is_a?(::String)
|
11
|
+
Armg.deserializer.deserialize(value)
|
12
|
+
else
|
13
|
+
value
|
14
|
+
end
|
11
15
|
end
|
12
|
-
end
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
17
|
+
def serialize(value)
|
18
|
+
if value.nil?
|
19
|
+
nil
|
20
|
+
else
|
21
|
+
Armg.serializer.serialize(value)
|
22
|
+
end
|
19
23
|
end
|
20
24
|
end
|
21
25
|
end
|
@@ -1,5 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Armg
|
4
|
+
module TableDefinitionExt
|
5
|
+
def geometry(*args, **options)
|
6
|
+
args.each { |name| column(name, :geometry, options) }
|
7
|
+
end
|
4
8
|
end
|
5
9
|
end
|
data/lib/armg/utils.rb
CHANGED
@@ -1,15 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# see https://dev.mysql.com/doc/refman/5.7/en/gis-data-formats.html
|
2
|
-
module Armg
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
module Armg
|
5
|
+
module Utils
|
6
|
+
def mysql_geometry_to_wkb(mysql_geometry)
|
7
|
+
mysql_geometry = mysql_geometry.b
|
8
|
+
srid = mysql_geometry.slice!(0..3)
|
9
|
+
mysql_geometry[4] = "\x20"
|
10
|
+
mysql_geometry.insert(5, srid)
|
11
|
+
end
|
12
|
+
module_function :mysql_geometry_to_wkb
|
10
13
|
|
11
|
-
|
12
|
-
|
14
|
+
def pack_srid(srid)
|
15
|
+
[srid].pack('L<')
|
16
|
+
end
|
17
|
+
module_function :pack_srid
|
13
18
|
end
|
14
|
-
module_function :pack_srid
|
15
19
|
end
|
data/lib/armg/version.rb
CHANGED
@@ -1,15 +1,19 @@
|
|
1
|
-
|
2
|
-
DEFAULT_OPTIONS = {
|
3
|
-
support_ewkb: true,
|
4
|
-
}
|
1
|
+
# frozen_string_literal: true
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
module Armg
|
4
|
+
class WkbDeserializer
|
5
|
+
DEFAULT_OPTIONS = {
|
6
|
+
support_ewkb: true
|
7
|
+
}.freeze
|
8
|
+
|
9
|
+
def initialize(factory: nil, **options)
|
10
|
+
options = DEFAULT_OPTIONS.merge(options)
|
11
|
+
@wkb_parser = RGeo::WKRep::WKBParser.new(factory, options)
|
12
|
+
end
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
+
def deserialize(mysql_geometry)
|
15
|
+
wkb = Armg::Utils.mysql_geometry_to_wkb(mysql_geometry)
|
16
|
+
@wkb_parser.parse(wkb)
|
17
|
+
end
|
14
18
|
end
|
15
19
|
end
|
data/lib/armg/wkb_serializer.rb
CHANGED
@@ -1,16 +1,20 @@
|
|
1
|
-
|
2
|
-
DEFAULT_OPTIONS = {
|
3
|
-
type_format: :ewkb,
|
4
|
-
little_endian: true,
|
5
|
-
}
|
1
|
+
# frozen_string_literal: true
|
6
2
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
module Armg
|
4
|
+
class WkbSerializer
|
5
|
+
DEFAULT_OPTIONS = {
|
6
|
+
type_format: :ewkb,
|
7
|
+
little_endian: true
|
8
|
+
}.freeze
|
9
|
+
|
10
|
+
def initialize(**options)
|
11
|
+
options = DEFAULT_OPTIONS.merge(options)
|
12
|
+
@wkb_generator = RGeo::WKRep::WKBGenerator.new(options)
|
13
|
+
end
|
11
14
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
+
def serialize(obj)
|
16
|
+
srid = Armg::Utils.pack_srid(obj.srid)
|
17
|
+
srid + @wkb_generator.generate(obj)
|
18
|
+
end
|
15
19
|
end
|
16
20
|
end
|
@@ -1,23 +1,28 @@
|
|
1
|
-
|
2
|
-
DEFAULT_WKB_PARSER_OPTIONS = {
|
3
|
-
support_ewkb: true,
|
4
|
-
}
|
1
|
+
# frozen_string_literal: true
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
module Armg
|
4
|
+
class WktDeserializer
|
5
|
+
DEFAULT_WKB_PARSER_OPTIONS = {
|
6
|
+
support_ewkb: true
|
7
|
+
}.freeze
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
9
|
+
DEFAULT_WKT_GENERATOR_OPTIONS = {
|
10
|
+
tag_format: :ewkt
|
11
|
+
# emit_ewkt_srid: true,
|
12
|
+
}.freeze
|
13
|
+
|
14
|
+
def initialize(factory: nil, wkb_parser_options: {}, wkt_generator_options: {})
|
15
|
+
@wkb_parser = RGeo::WKRep::WKBParser.new(factory,
|
16
|
+
DEFAULT_WKB_PARSER_OPTIONS.merge(wkb_parser_options))
|
17
|
+
@wkt_generator = RGeo::WKRep::WKTGenerator.new(
|
18
|
+
DEFAULT_WKT_GENERATOR_OPTIONS.merge(wkt_generator_options)
|
19
|
+
)
|
20
|
+
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
+
def deserialize(mysql_geometry)
|
23
|
+
wkb = Armg::Utils.mysql_geometry_to_wkb(mysql_geometry)
|
24
|
+
obj = @wkb_parser.parse(wkb)
|
25
|
+
@wkt_generator.generate(obj)
|
26
|
+
end
|
22
27
|
end
|
23
28
|
end
|
data/lib/armg/wkt_serializer.rb
CHANGED
@@ -1,23 +1,28 @@
|
|
1
|
-
|
2
|
-
DEFAULT_WKB_GENERATOR_OPTIONS = {
|
3
|
-
type_format: :ewkb,
|
4
|
-
little_endian: true,
|
5
|
-
}
|
1
|
+
# frozen_string_literal: true
|
6
2
|
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
module Armg
|
4
|
+
class WktSerializer
|
5
|
+
DEFAULT_WKB_GENERATOR_OPTIONS = {
|
6
|
+
type_format: :ewkb,
|
7
|
+
little_endian: true
|
8
|
+
}.freeze
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
10
|
+
DEFAULT_WKT_PARSER_OPTIONS = {
|
11
|
+
support_ewkt: true
|
12
|
+
}.freeze
|
13
|
+
|
14
|
+
def initialize(factory: nil, wkb_generator_options: {}, wkt_parser_options: {})
|
15
|
+
@wkb_generator = RGeo::WKRep::WKBGenerator.new(
|
16
|
+
DEFAULT_WKB_GENERATOR_OPTIONS.merge(wkb_generator_options)
|
17
|
+
)
|
18
|
+
@wkt_parser = RGeo::WKRep::WKTParser.new(factory,
|
19
|
+
DEFAULT_WKT_PARSER_OPTIONS.merge(wkt_parser_options))
|
20
|
+
end
|
17
21
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
+
def serialize(wkt)
|
23
|
+
obj = @wkt_parser.parse(wkt)
|
24
|
+
srid = Armg::Utils.pack_srid(obj.srid)
|
25
|
+
srid + @wkb_generator.generate(obj)
|
26
|
+
end
|
22
27
|
end
|
23
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: armg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Genki Sugawara
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -39,21 +39,21 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: appraisal
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.2.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:
|
54
|
+
version: 2.2.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -67,19 +67,19 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: erbh
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.1.2
|
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:
|
82
|
+
version: 0.1.2
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mysql2
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,19 +109,47 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rspec
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec-match_ruby
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
131
|
+
version: 0.1.3
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 0.1.3
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
125
153
|
description: Add MySQL geometry type to Active Record.
|
126
154
|
email:
|
127
155
|
- sugawara@cookpad.com
|
@@ -131,6 +159,7 @@ extra_rdoc_files: []
|
|
131
159
|
files:
|
132
160
|
- ".gitignore"
|
133
161
|
- ".rspec"
|
162
|
+
- ".rubocop.yml"
|
134
163
|
- ".travis.yml"
|
135
164
|
- Appraisals
|
136
165
|
- Gemfile
|
@@ -141,8 +170,10 @@ files:
|
|
141
170
|
- bin/console
|
142
171
|
- bin/setup
|
143
172
|
- docker-compose.yml
|
173
|
+
- gemfiles/.bundle/config
|
144
174
|
- gemfiles/ar50.gemfile
|
145
175
|
- gemfiles/ar51.gemfile
|
176
|
+
- gemfiles/ar52.gemfile
|
146
177
|
- lib/armg.rb
|
147
178
|
- lib/armg/abstract_mysql_adapter_ext.rb
|
148
179
|
- lib/armg/armg.rb
|
@@ -154,7 +185,6 @@ files:
|
|
154
185
|
- lib/armg/wkb_serializer.rb
|
155
186
|
- lib/armg/wkt_deserializer.rb
|
156
187
|
- lib/armg/wkt_serializer.rb
|
157
|
-
- test.rb
|
158
188
|
homepage: https://github.com/winebarrel/armg
|
159
189
|
licenses:
|
160
190
|
- MIT
|
@@ -174,8 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
204
|
- !ruby/object:Gem::Version
|
175
205
|
version: '0'
|
176
206
|
requirements: []
|
177
|
-
|
178
|
-
rubygems_version: 2.5.2
|
207
|
+
rubygems_version: 3.0.3
|
179
208
|
signing_key:
|
180
209
|
specification_version: 4
|
181
210
|
summary: Add MySQL geometry type to Active Record.
|
data/test.rb
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require 'rgeo'
|
3
|
-
a = "0101000000000000000000F03F000000000000F03F"
|
4
|
-
|
5
|
-
factory = RGeo::Geographic.spherical_factory(:default_srid => 4326)
|
6
|
-
parser = RGeo::WKRep::WKBParser.new(nil, support_ewkb: true, default_srid: 4326)
|
7
|
-
point = parser.parse(a)
|
8
|
-
p point.srid
|
9
|
-
|
10
|
-
generator = RGeo::WKRep::WKTGenerator.new(tag_format: :ewkt) #, emit_ewkt_srid: true)
|
11
|
-
p generator.generate(point)
|