droonga-message-pack-packer 1.0.0 → 1.0.1

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
  SHA1:
3
- metadata.gz: 4a0566ff09b04785e46acc63cbc2448693629122
4
- data.tar.gz: b661ba7b363dff2313bd10dc92d4d934fdc08146
3
+ metadata.gz: cd0c2ea3bfe7003cddef67677e1799b60532c292
4
+ data.tar.gz: c5822a0aa546e579bcb4ce1097c968c328194a9e
5
5
  SHA512:
6
- metadata.gz: 812845c60ea60d314ae147e3773ed5ffed46bbfda2762ef3df9930678a3fe6111aa5803e4599dc1c403df6ba49cd48efe07a03c76dcc8e7aa39964f0aa52e4c5
7
- data.tar.gz: 8b0b29e22a148852460a0ddcaee25957162446fb439842e0552782013957483fe4e9ba1c288eb97202b895be087304a30e73848cbbc405dd339c304909031754
6
+ metadata.gz: a17a757f7d24e53b60a8dbccf7fadc91a15d77a65bb3ca8d18948bd6ea57dd2c83f4162596dbb19e82b90528d420bf1480658881bc1e3668772bfa01c2fe0226
7
+ data.tar.gz: 95f15321681b559ac975a8017e9d638aa6606ef894d84d28e46a9e48028f2f003e6d454d41adaa5ae5706a3705f4a49719971a5c94546090ebdc01e00b1617ec
@@ -1,5 +1,9 @@
1
1
  # News
2
2
 
3
+ ## 1.0.1: 2014-05-29
4
+
5
+ * Support packing of `Groonga::WGS84GeoPoint` and `Groonga::TokyoGeoPoint` values.
6
+
3
7
  ## 1.0.0: 2014-04-10
4
8
 
5
9
  The first release!!!
@@ -16,6 +16,7 @@
16
16
  require "msgpack"
17
17
 
18
18
  require "droonga/message-pack-packer/time-formatter"
19
+ require "droonga/message-pack-packer/geo-point-formatter"
19
20
 
20
21
  module Droonga
21
22
  class MessagePackPacker
@@ -49,7 +50,12 @@ module Droonga
49
50
  when Time
50
51
  @packer.write(TimeFormatter.format(object))
51
52
  else
52
- @packer.write(object)
53
+ case object.class.name
54
+ when "Groonga::WGS84GeoPoint", "Groonga::TokyoGeoPoint"
55
+ @packer.write(GeoPointFormatter.format(object))
56
+ else
57
+ @packer.write(object)
58
+ end
53
59
  end
54
60
  end
55
61
 
@@ -0,0 +1,35 @@
1
+ # Copyright (C) 2013-2014 Droonga Project
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ module Droonga
17
+ class MessagePackPacker
18
+ class GeoPointFormatter
19
+ class << self
20
+ def format(object)
21
+ formatter = new(object)
22
+ formatter.format
23
+ end
24
+ end
25
+
26
+ def initialize(geo_point)
27
+ @geo_point = geo_point
28
+ end
29
+
30
+ def format
31
+ @geo_point.to_s
32
+ end
33
+ end
34
+ end
35
+ end
@@ -15,6 +15,6 @@
15
15
 
16
16
  module Droonga
17
17
  class MessagePackPacker
18
- VERSION = "1.0.0"
18
+ VERSION = "1.0.1"
19
19
  end
20
20
  end
@@ -0,0 +1,41 @@
1
+ # Copyright (C) 2014 Droonga Project
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ require "droonga/message-pack-packer/geo-point-formatter"
17
+
18
+ class GeoPointFormatterTest < Test::Unit::TestCase
19
+ def test_format
20
+ geo_point_class = Class.new do
21
+ def initialize(latitude, longitude)
22
+ @latitude = latitude
23
+ @longitude = longitude
24
+ end
25
+
26
+ def to_s
27
+ "<#{@latitude}x#{@longitude}>"
28
+ end
29
+ end
30
+
31
+ latitude = 35.681382
32
+ longitude = 139.766084
33
+ tokyo = geo_point_class.new(latitude, longitude)
34
+ assert_equal("<#{latitude}x#{longitude}>", format(tokyo))
35
+ end
36
+
37
+ private
38
+ def format(geo_point)
39
+ Droonga::MessagePackPacker::GeoPointFormatter.format(geo_point)
40
+ end
41
+ end
@@ -40,6 +40,54 @@ class PackerTest < Test::Unit::TestCase
40
40
  assert_equal(array, unpack(pack(array)))
41
41
  end
42
42
 
43
+ def test_wgs84_geo_point
44
+ wgs84_geo_point_class = Class.new do
45
+ class << self
46
+ def name
47
+ "Groonga::WGS84GeoPoint"
48
+ end
49
+ end
50
+
51
+ def initialize(latitude, longitude)
52
+ @latitude = latitude
53
+ @longitude = longitude
54
+ end
55
+
56
+ def to_s
57
+ "<#{@latitude}x#{@longitude}>"
58
+ end
59
+ end
60
+
61
+ latitude = 35.681382
62
+ longitude = 139.766084
63
+ tokyo = wgs84_geo_point_class.new(latitude, longitude)
64
+ assert_equal("<#{latitude}x#{longitude}>", unpack(pack(tokyo)))
65
+ end
66
+
67
+ def test_tokyo_geo_point
68
+ tokyo_geo_point_class = Class.new do
69
+ class << self
70
+ def name
71
+ "Groonga::TokyoGeoPoint"
72
+ end
73
+ end
74
+
75
+ def initialize(latitude, longitude)
76
+ @latitude = latitude
77
+ @longitude = longitude
78
+ end
79
+
80
+ def to_s
81
+ "<#{@latitude}x#{@longitude}>"
82
+ end
83
+ end
84
+
85
+ latitude = 35.681382
86
+ longitude = 139.766084
87
+ tokyo = tokyo_geo_point_class.new(latitude, longitude)
88
+ assert_equal("<#{latitude}x#{longitude}>", unpack(pack(tokyo)))
89
+ end
90
+
43
91
  private
44
92
  def pack(object)
45
93
  Droonga::MessagePackPacker.pack(object)
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: droonga-message-pack-packer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Droonga Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-10 00:00:00.000000000 Z
11
+ date: 2014-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
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
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '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
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: packnga
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '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
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: test-unit
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
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
82
  version: '0'
83
83
  description: This MessagePack packer packs time values into W3C-TDF format string
@@ -88,7 +88,7 @@ executables: []
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
- - .gitignore
91
+ - ".gitignore"
92
92
  - Gemfile
93
93
  - LICENSE.txt
94
94
  - README.md
@@ -96,9 +96,11 @@ files:
96
96
  - doc/text/news.md
97
97
  - droonga-message-pack-packer.gemspec
98
98
  - lib/droonga/message-pack-packer.rb
99
+ - lib/droonga/message-pack-packer/geo-point-formatter.rb
99
100
  - lib/droonga/message-pack-packer/time-formatter.rb
100
101
  - lib/droonga/message-pack-packer/version.rb
101
102
  - test/run-test.rb
103
+ - test/test-geo-point-formatter.rb
102
104
  - test/test-packer.rb
103
105
  - test/test-time-formatter.rb
104
106
  homepage: https://github.com/droonga/droonga-message-pack-packer-ruby
@@ -111,22 +113,23 @@ require_paths:
111
113
  - lib
112
114
  required_ruby_version: !ruby/object:Gem::Requirement
113
115
  requirements:
114
- - - '>='
116
+ - - ">="
115
117
  - !ruby/object:Gem::Version
116
118
  version: 1.9.3
117
119
  required_rubygems_version: !ruby/object:Gem::Requirement
118
120
  requirements:
119
- - - '>='
121
+ - - ">="
120
122
  - !ruby/object:Gem::Version
121
123
  version: '0'
122
124
  requirements: []
123
125
  rubyforge_project:
124
- rubygems_version: 2.0.14
126
+ rubygems_version: 2.2.2
125
127
  signing_key:
126
128
  specification_version: 4
127
129
  summary: A MessagePack packer for Droonga message
128
130
  test_files:
129
131
  - test/run-test.rb
132
+ - test/test-geo-point-formatter.rb
130
133
  - test/test-packer.rb
131
134
  - test/test-time-formatter.rb
132
135
  has_rdoc: