jpmobile 1.0.0.pre.5 → 1.0.0.pre.6

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- :build: pre.5
3
2
  :major: 1
4
- :patch: 0
5
3
  :minor: 0
4
+ :patch: 0
5
+ :build: pre.6
data/lib/jpmobile/mail.rb CHANGED
@@ -1,12 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'mail'
3
3
 
4
- module Jpmobile
5
- module Mail
6
- module_function
7
- end
8
- end
9
-
10
4
  module Mail
11
5
  # encoding patch
12
6
  if self.const_defined?(:Ruby19)
@@ -21,6 +15,12 @@ module Mail
21
15
  # if str contains some emoticon, the following line raises Encoding error
22
16
  str.encode("utf-8", :invalid => :replace, :replace => "") rescue Jpmobile::Util.ascii_8bit(str)
23
17
  end
18
+
19
+ # change encoding
20
+ def self.b_value_encode(str, encoding)
21
+ str = Jpmobile::Util.encode(str, encoding)
22
+ [Ruby19.encode_base64(str), encoding]
23
+ end
24
24
  end
25
25
  elsif self.const_defined?(:Ruby18)
26
26
  Ruby18.class_eval do
@@ -32,6 +32,12 @@ module Mail
32
32
  end
33
33
  str
34
34
  end
35
+
36
+ # change encoding
37
+ def self.b_value_encode(str, encoding)
38
+ str = Jpmobile::Util.encode(str, encoding)
39
+ [Encodings::Base64.encode(str), encoding]
40
+ end
35
41
  end
36
42
  end
37
43
 
@@ -39,7 +45,7 @@ module Mail
39
45
  attr_accessor :mobile
40
46
 
41
47
  def mobile=(m)
42
- if @mobile = m
48
+ if @mobile = m
43
49
  @charset = m.mail_charset(@charset)
44
50
 
45
51
  if @body
@@ -52,6 +58,8 @@ module Mail
52
58
  def encoded_with_jpmobile
53
59
  if @mobile
54
60
  header['subject'].mobile = @mobile if header['subject']
61
+ header['from'].mobile = @mobile if header['from']
62
+ header['to'].mobile = @mobile if header['to']
55
63
  self.charset = @mobile.mail_charset(@charset)
56
64
 
57
65
  ready_to_send!
@@ -132,37 +140,41 @@ module Mail
132
140
  private
133
141
  def convert_encoding_jpmobile
134
142
  # decide mobile carrier
135
- if self.header['From']
136
- mobile_class = Jpmobile::Email.detect_from_mail_header(self.header['From'].value)
143
+ if self.header[:from]
144
+ mobile_class = Jpmobile::Email.detect_from_mail_header(self.header[:from].value)
137
145
  @mobile ||= mobile_class.new(nil, nil) if mobile_class
138
146
  end
139
147
 
140
148
  # override charset
141
- if self.header['Content-Type']
142
- content_type_charset = Jpmobile::Util.extract_charset(self.header['Content-Type'].value)
149
+ if self.header[:content_type]
150
+ content_type_charset = Jpmobile::Util.extract_charset(self.header[:content_type].value)
143
151
  unless content_type_charset.blank?
144
152
  @charset = content_type_charset
145
- self.header['Content-Type'].parameters[:charset] = @charset
146
- @mobile_main_type = self.header['Content-Type'].main_type
153
+ self.header[:content_type].parameters[:charset] = @charset
154
+ @mobile_main_type = self.header[:content_type].main_type
147
155
  end
148
156
 
149
- if !Jpmobile::Email.convertable?(self.header['Content-Type'].value) and content_type_charset.blank?
157
+ if !Jpmobile::Email.convertable?(self.header[:content_type].value) and content_type_charset.blank?
150
158
  @charset = ''
151
159
  end
152
160
  end
153
161
 
154
162
  # convert header(s)
155
- if self.header['Subject']
156
- subject_charset = Jpmobile::Util.extract_charset(self.header['Subject'].value)
163
+ if self.header[:subject]
164
+ subject_charset = Jpmobile::Util.extract_charset(self.header[:subject].value)
157
165
 
158
166
  # override subject encoding if @charset is blank
159
167
  @charset = subject_charset if !subject_charset.blank? # and @charset.blank?
160
- self.header['Subject'].charset = subject_charset unless subject_charset.blank?
168
+ self.header[:subject].charset = subject_charset unless subject_charset.blank?
161
169
 
162
170
  if @mobile
163
171
  v = @mobile.to_mail_internal(
164
- Encodings.value_decode(self.header['Subject'].value), subject_charset)
165
- self.header['Subject'].value = Jpmobile::Util.force_encode(v, @mobile.mail_charset(@charset), Jpmobile::Util::UTF8)
172
+ Encodings.value_decode(self.header[:subject].value), subject_charset)
173
+ if @charset == subject_charset and @mobile.mail_charset != @charset
174
+ self.header[:subject].value = Jpmobile::Util.force_encode(v, @charset, Jpmobile::Util::UTF8)
175
+ else
176
+ self.header[:subject].value = Jpmobile::Util.force_encode(v, @mobile.mail_charset(@charset), Jpmobile::Util::UTF8)
177
+ end
166
178
  end
167
179
  end
168
180
 
@@ -239,6 +251,9 @@ module Mail
239
251
 
240
252
  def decode_transfer_encoding
241
253
  _raw_source = Encodings.get_encoding(encoding).decode(@raw_source)
254
+ unless Jpmobile::Util.extract_charset(_raw_source) == @charset
255
+ @charset = Jpmobile::Util.extract_charset(_raw_source)
256
+ end
242
257
  _raw_source = Jpmobile::Util.set_encoding(_raw_source, @charset)
243
258
  @raw_source = @mobile.decode_transfer_encoding(_raw_source, @charset)
244
259
  end
@@ -303,7 +318,6 @@ module Mail
303
318
 
304
319
  # for subject
305
320
  class SubjectField < UnstructuredField
306
- # FIXME: not folding subject -> folding
307
321
  def encoded_with_jpmobile
308
322
  if @mobile
309
323
  if @mobile.to_mail_subject_encoded?(value)
@@ -321,6 +335,77 @@ module Mail
321
335
  alias_method :encoded, :encoded_with_jpmobile
322
336
  end
323
337
 
338
+ class StructuredField
339
+ attr_accessor :mobile
340
+ end
341
+
342
+ class FromField < StructuredField
343
+ def initialize_with_jpmobile(value = nil, charset = 'utf-8')
344
+ @jpmobile_raw_text = value
345
+ initialize_without_jpmobile(value, charset)
346
+ end
347
+
348
+ alias_method :initialize_without_jpmobile, :initialize
349
+ alias_method :initialize, :initialize_with_jpmobile
350
+
351
+ def mobile=(m)
352
+ if @mobile = m
353
+ self.charset = @mobile.mail_charset(@charset)
354
+ self.value = @jpmobile_raw_text
355
+ self.parse
356
+ end
357
+ end
358
+
359
+ def encoded_with_jpmobile
360
+ if @mobile
361
+ self.charset = @mobile.mail_charset(@charset)
362
+ end
363
+
364
+ encoded_without_jpmobile
365
+ end
366
+
367
+ alias_method :encoded_without_jpmobile, :encoded
368
+ alias_method :encoded, :encoded_with_jpmobile
369
+ end
370
+
371
+ class ToField < StructuredField
372
+ def initialize_with_jpmobile(value = nil, charset = 'utf-8')
373
+ @jpmobile_raw_text = value
374
+ initialize_without_jpmobile(value, charset)
375
+ end
376
+
377
+ alias_method :initialize_without_jpmobile, :initialize
378
+ alias_method :initialize, :initialize_with_jpmobile
379
+
380
+ def mobile=(m)
381
+ if @mobile = m
382
+ self.charset = @mobile.mail_charset(@charset)
383
+ self.value = @jpmobile_raw_text
384
+ self.parse
385
+ end
386
+ end
387
+
388
+ def encoded_with_jpmobile
389
+ if @mobile
390
+ self.charset = @mobile.mail_charset(@charset)
391
+ end
392
+
393
+ encoded_without_jpmobile
394
+ end
395
+
396
+ alias_method :encoded_without_jpmobile, :encoded
397
+ alias_method :encoded, :encoded_with_jpmobile
398
+ end
399
+
400
+ class Address
401
+ def encoded_with_jpmobile
402
+ encoded_without_jpmobile
403
+ end
404
+
405
+ alias_method :encoded_without_jpmobile, :encoded
406
+ alias_method :encoded, :encoded_with_jpmobile
407
+ end
408
+
324
409
  class Sendmail
325
410
  def Sendmail.call(path, arguments, destinations, mail)
326
411
  encoded_mail = mail.encoded
@@ -102,7 +102,8 @@ module Jpmobile::Mobile
102
102
  to_mail_encoding(str)
103
103
  end
104
104
  def mail_charset(charset = nil)
105
- (charset.nil? or charset == "") ? self.class::MAIL_CHARSET : charset
105
+ # (charset.nil? or charset == "") ? self.class::MAIL_CHARSET : charset
106
+ self.class::MAIL_CHARSET
106
107
  end
107
108
  def to_mail_encoding(str)
108
109
  str = Jpmobile::Emoticon.utf8_to_unicodecr(str)
@@ -10,7 +10,7 @@ describe "Jpmobile::Mail" do
10
10
  @mail = Mail.new
11
11
  @mail.subject = "万葉"
12
12
  @mail.body = "ほげ"
13
- @mail.from = "info@jpmobile-rails.org"
13
+ @mail.from = "ちはやふる <info@jpmobile-rails.org>"
14
14
  end
15
15
 
16
16
  context "Mail#to" do
@@ -23,7 +23,7 @@ describe "Jpmobile::Mail" do
23
23
  before(:each) do
24
24
  @mobile = Jpmobile::Mobile::AbstractMobile.new(nil, nil)
25
25
  @mail.mobile = @mobile
26
- @mail.to = "info+to@jpmobile-rails.org"
26
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
27
27
  end
28
28
 
29
29
  context "to_s" do
@@ -34,6 +34,18 @@ describe "Jpmobile::Mail" do
34
34
  it "should contain encoded body" do
35
35
  ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("\x1b\x24\x42\x24\x5B\x24\x32\e\x28\x42"))))
36
36
  end
37
+
38
+ it "should contain encoded from"do
39
+ ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("=?ISO-2022-JP?B?GyRCJEEkTyRkJFUkaxsoQg==?="))))
40
+ end
41
+
42
+ it "should contain encoded to" do
43
+ ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("=?ISO-2022-JP?B?GyRCJGAkOSRhJFUkNSRbJDsbKEI=?="))))
44
+ end
45
+
46
+ it "should contain correct Content-Type:" do
47
+ ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("charset=ISO-2022-JP"))))
48
+ end
37
49
  end
38
50
  end
39
51
 
@@ -41,7 +53,7 @@ describe "Jpmobile::Mail" do
41
53
  before(:each) do
42
54
  @mobile = Jpmobile::Mobile::Docomo.new(nil, nil)
43
55
  @mail.mobile = @mobile
44
- @mail.to = "info+to@jpmobile-rails.org"
56
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
45
57
  end
46
58
 
47
59
  context "to_s" do
@@ -53,6 +65,14 @@ describe "Jpmobile::Mail" do
53
65
  @mail.to_s.should match(Regexp.escape(utf8_to_sjis("ほげ")))
54
66
  end
55
67
 
68
+ it "should contain encoded from" do
69
+ @mail.to_s.should match(sjis_regexp("gr+CzYLigtOC6Q=="))
70
+ end
71
+
72
+ it "should contain encoded to" do
73
+ @mail.to_s.should match(sjis_regexp("gt6Ct4LfgtOCs4LZgrk="))
74
+ end
75
+
56
76
  it "should contains encoded emoticon" do
57
77
  @mail.subject += "&#xe63e;"
58
78
  @mail.body = "#{@mail.body}&#xe63e;"
@@ -67,7 +87,7 @@ describe "Jpmobile::Mail" do
67
87
  before(:each) do
68
88
  @mobile = Jpmobile::Mobile::Au.new(nil, nil)
69
89
  @mail.mobile = @mobile
70
- @mail.to = "info+to@jpmobile-rails.org"
90
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
71
91
  end
72
92
 
73
93
  context "to_s" do
@@ -79,6 +99,14 @@ describe "Jpmobile::Mail" do
79
99
  ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("\x1b\x24\x42\x24\x5B\x24\x32\e\x28\x42"))))
80
100
  end
81
101
 
102
+ it "should contain encoded from" do
103
+ ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("=?ISO-2022-JP?B?GyRCJEEkTyRkJFUkaxsoQg==?="))))
104
+ end
105
+
106
+ it "should contain encoded to" do
107
+ ascii_8bit(@mail.to_s).should match(Regexp.compile(Regexp.escape(ascii_8bit("=?ISO-2022-JP?B?GyRCJGAkOSRhJFUkNSRbJDsbKEI=?="))))
108
+ end
109
+
82
110
  it "should contain encoded emoticon" do
83
111
  @mail.subject += "&#xe63e;"
84
112
  @mail.body = "#{@mail.body}&#xe63e;"
@@ -93,7 +121,7 @@ describe "Jpmobile::Mail" do
93
121
  before(:each) do
94
122
  @mobile = Jpmobile::Mobile::Softbank.new(nil, nil)
95
123
  @mail.mobile = @mobile
96
- @mail.to = "info+to@jpmobile-rails.org"
124
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
97
125
  end
98
126
 
99
127
  context "to_s" do
@@ -105,6 +133,14 @@ describe "Jpmobile::Mail" do
105
133
  @mail.to_s.should match(Regexp.escape(utf8_to_sjis("ほげ")))
106
134
  end
107
135
 
136
+ it "should contain encoded from" do
137
+ @mail.to_s.should match(sjis_regexp("gr+CzYLigtOC6Q=="))
138
+ end
139
+
140
+ it "should contain encoded to" do
141
+ @mail.to_s.should match(sjis_regexp("gt6Ct4LfgtOCs4LZgrk="))
142
+ end
143
+
108
144
  it "should contains encoded emoticon" do
109
145
  @mail.subject += "&#xe63e;"
110
146
  @mail.body = "#{@mail.body}&#xe63e;"
@@ -127,7 +163,7 @@ describe "Jpmobile::Mail" do
127
163
  before(:each) do
128
164
  @mobile = Jpmobile::Mobile::Docomo.new(nil, nil)
129
165
  @mail.mobile = @mobile
130
- @mail.to = "info+to@jpmobile-rails.org"
166
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
131
167
  end
132
168
 
133
169
  it "should contain encoded subject" do
@@ -144,7 +180,7 @@ describe "Jpmobile::Mail" do
144
180
  before(:each) do
145
181
  @mobile = Jpmobile::Mobile::Au.new(nil, nil)
146
182
  @mail.mobile = @mobile
147
- @mail.to = "info+to@jpmobile-rails.org"
183
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
148
184
  end
149
185
 
150
186
  it "should contain encoded subject" do
@@ -161,7 +197,7 @@ describe "Jpmobile::Mail" do
161
197
  before(:each) do
162
198
  @mobile = Jpmobile::Mobile::Softbank.new(nil, nil)
163
199
  @mail.mobile = @mobile
164
- @mail.to = "info+to@jpmobile-rails.org"
200
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
165
201
  end
166
202
 
167
203
  it "should contain encoded subject" do
@@ -178,7 +214,7 @@ describe "Jpmobile::Mail" do
178
214
  before(:each) do
179
215
  @mobile = Jpmobile::Mobile::AbstractMobile.new(nil, nil)
180
216
  @mail.mobile = @mobile
181
- @mail.to = "info+to@jpmobile-rails.org"
217
+ @mail.to = "むすめふさほせ <info+to@jpmobile-rails.org>"
182
218
  end
183
219
 
184
220
  context "to_s" do
metadata CHANGED
@@ -1,15 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jpmobile
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1923831939
5
4
  prerelease: 6
6
- segments:
7
- - 1
8
- - 0
9
- - 0
10
- - pre
11
- - 5
12
- version: 1.0.0.pre.5
5
+ version: 1.0.0.pre.6
13
6
  platform: ruby
14
7
  authors:
15
8
  - Yoji Shidara
@@ -18,271 +11,196 @@ autorequire:
18
11
  bindir: bin
19
12
  cert_chain: []
20
13
 
21
- date: 2011-06-23 00:00:00 +09:00
14
+ date: 2011-06-27 00:00:00 +09:00
22
15
  default_executable:
23
16
  dependencies:
24
17
  - !ruby/object:Gem::Dependency
25
18
  name: jeweler
26
- version_requirements: &id001 !ruby/object:Gem::Requirement
19
+ requirement: &id001 !ruby/object:Gem::Requirement
27
20
  none: false
28
21
  requirements:
29
22
  - - ">="
30
23
  - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
24
  version: "0"
35
- prerelease: false
36
25
  type: :development
37
- requirement: *id001
26
+ prerelease: false
27
+ version_requirements: *id001
38
28
  - !ruby/object:Gem::Dependency
39
29
  name: rails
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
30
+ requirement: &id002 !ruby/object:Gem::Requirement
41
31
  none: false
42
32
  requirements:
43
33
  - - ">="
44
34
  - !ruby/object:Gem::Version
45
- hash: 21
46
- segments:
47
- - 3
48
- - 0
49
- - 9
50
35
  version: 3.0.9
51
- prerelease: false
52
36
  type: :development
53
- requirement: *id002
37
+ prerelease: false
38
+ version_requirements: *id002
54
39
  - !ruby/object:Gem::Dependency
55
40
  name: rspec
56
- version_requirements: &id003 !ruby/object:Gem::Requirement
41
+ requirement: &id003 !ruby/object:Gem::Requirement
57
42
  none: false
58
43
  requirements:
59
44
  - - ">="
60
45
  - !ruby/object:Gem::Version
61
- hash: 23
62
- segments:
63
- - 2
64
- - 6
65
- - 0
66
46
  version: 2.6.0
67
- prerelease: false
68
47
  type: :development
69
- requirement: *id003
48
+ prerelease: false
49
+ version_requirements: *id003
70
50
  - !ruby/object:Gem::Dependency
71
51
  name: rspec-rails
72
- version_requirements: &id004 !ruby/object:Gem::Requirement
52
+ requirement: &id004 !ruby/object:Gem::Requirement
73
53
  none: false
74
54
  requirements:
75
55
  - - ">="
76
56
  - !ruby/object:Gem::Version
77
- hash: 23
78
- segments:
79
- - 2
80
- - 6
81
- - 0
82
57
  version: 2.6.0
83
- prerelease: false
84
58
  type: :development
85
- requirement: *id004
59
+ prerelease: false
60
+ version_requirements: *id004
86
61
  - !ruby/object:Gem::Dependency
87
62
  name: webrat
88
- version_requirements: &id005 !ruby/object:Gem::Requirement
63
+ requirement: &id005 !ruby/object:Gem::Requirement
89
64
  none: false
90
65
  requirements:
91
66
  - - ">="
92
67
  - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 0
96
68
  version: "0"
97
- prerelease: false
98
69
  type: :development
99
- requirement: *id005
70
+ prerelease: false
71
+ version_requirements: *id005
100
72
  - !ruby/object:Gem::Dependency
101
73
  name: geokit
102
- version_requirements: &id006 !ruby/object:Gem::Requirement
74
+ requirement: &id006 !ruby/object:Gem::Requirement
103
75
  none: false
104
76
  requirements:
105
77
  - - ">="
106
78
  - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 0
110
79
  version: "0"
111
- prerelease: false
112
80
  type: :development
113
- requirement: *id006
81
+ prerelease: false
82
+ version_requirements: *id006
114
83
  - !ruby/object:Gem::Dependency
115
84
  name: sqlite3-ruby
116
- version_requirements: &id007 !ruby/object:Gem::Requirement
85
+ requirement: &id007 !ruby/object:Gem::Requirement
117
86
  none: false
118
87
  requirements:
119
88
  - - ">="
120
89
  - !ruby/object:Gem::Version
121
- hash: 3
122
- segments:
123
- - 0
124
90
  version: "0"
125
- prerelease: false
126
91
  type: :development
127
- requirement: *id007
92
+ prerelease: false
93
+ version_requirements: *id007
128
94
  - !ruby/object:Gem::Dependency
129
95
  name: hpricot
130
- version_requirements: &id008 !ruby/object:Gem::Requirement
96
+ requirement: &id008 !ruby/object:Gem::Requirement
131
97
  none: false
132
98
  requirements:
133
99
  - - ">="
134
100
  - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
101
  version: "0"
139
- prerelease: false
140
102
  type: :development
141
- requirement: *id008
103
+ prerelease: false
104
+ version_requirements: *id008
142
105
  - !ruby/object:Gem::Dependency
143
106
  name: jeweler
144
- version_requirements: &id009 !ruby/object:Gem::Requirement
107
+ requirement: &id009 !ruby/object:Gem::Requirement
145
108
  none: false
146
109
  requirements:
147
110
  - - ">="
148
111
  - !ruby/object:Gem::Version
149
- hash: 1
150
- segments:
151
- - 1
152
- - 5
153
- - 1
154
112
  version: 1.5.1
155
- prerelease: false
156
113
  type: :development
157
- requirement: *id009
114
+ prerelease: false
115
+ version_requirements: *id009
158
116
  - !ruby/object:Gem::Dependency
159
117
  name: rspec
160
- version_requirements: &id010 !ruby/object:Gem::Requirement
118
+ requirement: &id010 !ruby/object:Gem::Requirement
161
119
  none: false
162
120
  requirements:
163
121
  - - ">="
164
122
  - !ruby/object:Gem::Version
165
- hash: 3
166
- segments:
167
- - 2
168
- - 3
169
- - 0
170
123
  version: 2.3.0
171
- prerelease: false
172
124
  type: :development
173
- requirement: *id010
125
+ prerelease: false
126
+ version_requirements: *id010
174
127
  - !ruby/object:Gem::Dependency
175
128
  name: rspec-rails
176
- version_requirements: &id011 !ruby/object:Gem::Requirement
129
+ requirement: &id011 !ruby/object:Gem::Requirement
177
130
  none: false
178
131
  requirements:
179
132
  - - ">="
180
133
  - !ruby/object:Gem::Version
181
- hash: 3
182
- segments:
183
- - 2
184
- - 3
185
- - 0
186
134
  version: 2.3.0
187
- prerelease: false
188
135
  type: :development
189
- requirement: *id011
136
+ prerelease: false
137
+ version_requirements: *id011
190
138
  - !ruby/object:Gem::Dependency
191
139
  name: webrat
192
- version_requirements: &id012 !ruby/object:Gem::Requirement
140
+ requirement: &id012 !ruby/object:Gem::Requirement
193
141
  none: false
194
142
  requirements:
195
143
  - - ">="
196
144
  - !ruby/object:Gem::Version
197
- hash: 7
198
- segments:
199
- - 0
200
- - 7
201
- - 2
202
145
  version: 0.7.2
203
- prerelease: false
204
146
  type: :development
205
- requirement: *id012
147
+ prerelease: false
148
+ version_requirements: *id012
206
149
  - !ruby/object:Gem::Dependency
207
150
  name: geokit
208
- version_requirements: &id013 !ruby/object:Gem::Requirement
151
+ requirement: &id013 !ruby/object:Gem::Requirement
209
152
  none: false
210
153
  requirements:
211
154
  - - ">="
212
155
  - !ruby/object:Gem::Version
213
- hash: 3
214
- segments:
215
- - 1
216
- - 5
217
- - 0
218
156
  version: 1.5.0
219
- prerelease: false
220
157
  type: :development
221
- requirement: *id013
158
+ prerelease: false
159
+ version_requirements: *id013
222
160
  - !ruby/object:Gem::Dependency
223
161
  name: sqlite3-ruby
224
- version_requirements: &id014 !ruby/object:Gem::Requirement
162
+ requirement: &id014 !ruby/object:Gem::Requirement
225
163
  none: false
226
164
  requirements:
227
165
  - - ">="
228
166
  - !ruby/object:Gem::Version
229
- hash: 31
230
- segments:
231
- - 1
232
- - 3
233
- - 2
234
167
  version: 1.3.2
235
- prerelease: false
236
168
  type: :development
237
- requirement: *id014
169
+ prerelease: false
170
+ version_requirements: *id014
238
171
  - !ruby/object:Gem::Dependency
239
172
  name: hpricot
240
- version_requirements: &id015 !ruby/object:Gem::Requirement
173
+ requirement: &id015 !ruby/object:Gem::Requirement
241
174
  none: false
242
175
  requirements:
243
176
  - - ">="
244
177
  - !ruby/object:Gem::Version
245
- hash: 57
246
- segments:
247
- - 0
248
- - 8
249
- - 3
250
178
  version: 0.8.3
251
- prerelease: false
252
179
  type: :development
253
- requirement: *id015
180
+ prerelease: false
181
+ version_requirements: *id015
254
182
  - !ruby/object:Gem::Dependency
255
183
  name: git
256
- version_requirements: &id016 !ruby/object:Gem::Requirement
184
+ requirement: &id016 !ruby/object:Gem::Requirement
257
185
  none: false
258
186
  requirements:
259
187
  - - ">="
260
188
  - !ruby/object:Gem::Version
261
- hash: 21
262
- segments:
263
- - 1
264
- - 2
265
- - 5
266
189
  version: 1.2.5
267
- prerelease: false
268
190
  type: :development
269
- requirement: *id016
191
+ prerelease: false
192
+ version_requirements: *id016
270
193
  - !ruby/object:Gem::Dependency
271
194
  name: rails
272
- version_requirements: &id017 !ruby/object:Gem::Requirement
195
+ requirement: &id017 !ruby/object:Gem::Requirement
273
196
  none: false
274
197
  requirements:
275
198
  - - ">="
276
199
  - !ruby/object:Gem::Version
277
- hash: 1
278
- segments:
279
- - 3
280
- - 0
281
- - 3
282
200
  version: 3.0.3
283
- prerelease: false
284
201
  type: :development
285
- requirement: *id017
202
+ prerelease: false
203
+ version_requirements: *id017
286
204
  description: A Rails plugin for Japanese mobile-phones
287
205
  email: dara@shidara.net
288
206
  executables: []
@@ -501,20 +419,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
501
419
  requirements:
502
420
  - - ">="
503
421
  - !ruby/object:Gem::Version
504
- hash: 3
505
- segments:
506
- - 0
507
422
  version: "0"
508
423
  required_rubygems_version: !ruby/object:Gem::Requirement
509
424
  none: false
510
425
  requirements:
511
426
  - - ">"
512
427
  - !ruby/object:Gem::Version
513
- hash: 25
514
- segments:
515
- - 1
516
- - 3
517
- - 1
518
428
  version: 1.3.1
519
429
  requirements: []
520
430