jpmobile 0.1.0.pre → 0.1.0.pre.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -2,4 +2,4 @@
2
2
  :major: 0
3
3
  :minor: 1
4
4
  :patch: 0
5
- :build: pre
5
+ :build: pre.2
data/jpmobile.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{jpmobile}
8
- s.version = "0.1.0.pre"
8
+ s.version = "0.1.0.pre.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Yoji Shidara", "Shin-ichiro OGAWA"]
12
- s.date = %q{2010-07-28}
12
+ s.date = %q{2010-07-29}
13
13
  s.description = %q{A Rails plugin for Japanese mobile-phones}
14
14
  s.email = %q{dara@shidara.net}
15
15
  s.extra_rdoc_files = [
@@ -1,15 +1,16 @@
1
+ # -*- coding: utf-8 -*-
1
2
  ActiveSupport.on_load(:action_controller) do
2
- # -*- coding: utf-8 -*-
3
3
  require 'jpmobile/docomo_guid'
4
4
  require 'jpmobile/filter'
5
5
  require 'jpmobile/helpers'
6
6
  require 'jpmobile/hook_action_controller'
7
7
  require 'jpmobile/hook_action_view'
8
8
  require 'jpmobile/trans_sid'
9
+ end
9
10
 
11
+ ActiveSupport.on_load(:before_configuration) do
10
12
  # MobileCarrierのみデフォルトで有効
11
13
  ::Rails.application.middleware.insert_before('ActionDispatch::ParamsParser', Jpmobile::Rack::MobileCarrier)
12
-
13
14
  module Rails
14
15
  class Application
15
16
  class Configuration
@@ -6,14 +6,15 @@ module ParamsOverCookie
6
6
  def self.included(base)
7
7
  base.class_eval do
8
8
  # cookie よりも params を先に見るパッチ
9
- def load_session_with_jpmobile(env)
9
+ def extract_session_id_with_jpmobile(env)
10
10
  request = Rack::Request.new(env)
11
- sid = request.cookies[@key]
12
- sid ||= request.params[@key] unless @cookie_only
13
- sid, session = get_session(env, sid)
14
- [sid, session]
11
+ if request.params[@key] and !@cookie_only
12
+ sid = request.params[@key] unless @cookie_only
13
+ end
14
+ sid ||= request.cookies[@key]
15
+ sid
15
16
  end
16
- alias_method_chain :load_session, :jpmobile
17
+ alias_method_chain :extract_session_id, :jpmobile
17
18
  end
18
19
  end
19
20
  end
@@ -59,21 +60,11 @@ module ActionController
59
60
  class Base #:nodoc:
60
61
  class_inheritable_accessor :trans_sid_mode
61
62
 
62
- def transit_sid_mode(*args)
63
- STDERR.puts "Method transit_sid is now deprecated. Use trans_sid instead."
64
- trans_sid_mode(*args)
65
- end
66
-
67
63
  class << self
68
64
  def trans_sid(mode = :mobile)
69
65
  include Jpmobile::TransSid
70
66
  self.trans_sid_mode = mode
71
67
  end
72
-
73
- def transit_sid(*args)
74
- STDERR.puts "Method transit_sid is now deprecated. Use trans_sid instead."
75
- trans_sid(*args)
76
- end
77
68
  end
78
69
 
79
70
  private
@@ -62,13 +62,6 @@ namespace :test do
62
62
  FileUtils.cp_r(file, rails_root)
63
63
  end
64
64
 
65
- # for 2.3.2
66
- if rails_version == "2.3.2"
67
- FileList["test/rails/2.3.2/*"].each do |file|
68
- FileUtils.cp_r(file, rails_root)
69
- end
70
- end
71
-
72
65
  # for cookie_only option
73
66
  config_path = File.join(rails_root, 'config', 'initializers', 'session_store.rb')
74
67
  File.open(config_path, 'w') do |file|
@@ -1,6 +1,6 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rails', '3.0.0.beta4'
3
+ gem 'rails', '3.0.0.rc'
4
4
 
5
5
  # Bundle edge Rails instead:
6
6
  # gem 'rails', :git => 'git://github.com/rails/rails.git'
@@ -17,7 +17,7 @@ shared_examples_for "trans_sid が起動しないとき" do
17
17
  it "で form の自動書き換えが行われない" do
18
18
  res = get_with_session(@controller, "form", @user_agent)
19
19
 
20
- res.response.body.should =~ /<form action=\"\/.+?\/form\"/
20
+ res.response.body.should =~ /<form accept-charset="#{@charset}" action=\"\/.+?\/form\"/
21
21
  end
22
22
  it "で redirect の自動書き換えが行われない" do
23
23
  res = get_with_session(@controller, "redirect", @user_agent)
@@ -35,7 +35,7 @@ shared_examples_for "trans_sid が起動するとき" do
35
35
  it "で form の自動書き換えが行われる" do
36
36
  res = get_with_session(@controller, "form", @user_agent)
37
37
 
38
- res.response.body.should =~ /<form action=\"\/.+?\/form\?_session_id=[a-zA-Z0-9]{32}\"/
38
+ res.response.body.should =~ /<form accept-charset="#{@charset}" action=\"\/.+?\/form\?_session_id=[a-zA-Z0-9]{32}\"/
39
39
  end
40
40
  it "で redirect の自動書き換えが行われる" do
41
41
  res = get_with_session(@controller, "redirect", @user_agent)
@@ -48,6 +48,7 @@ describe TransSidBaseController, "という trans_sid が有効になってい
48
48
  before(:each) do
49
49
  @controller = "trans_sid_base"
50
50
  @user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"
51
+ @charset = "UTF-8"
51
52
  end
52
53
 
53
54
  it "の trans_sid_mode は nil" do
@@ -62,6 +63,7 @@ describe TransSidNoneController, "という trans_sid :none が指定されて
62
63
  before(:each) do
63
64
  @controller = "trans_sid_none"
64
65
  @user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"
66
+ @charset = "UTF-8"
65
67
  end
66
68
 
67
69
  it "の trans_sid_mode は :none" do
@@ -76,6 +78,7 @@ describe TransSidAlwaysController, "という trans_sid :always が指定され
76
78
  before(:each) do
77
79
  @controller = "trans_sid_always"
78
80
  @user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"
81
+ @charset = "UTF-8"
79
82
  end
80
83
 
81
84
  it "の trans_sid_mode は :always" do
@@ -90,6 +93,7 @@ describe TransSidMobileController, "という trans_sid :mobile が指定され
90
93
  before(:each) do
91
94
  @controller = "trans_sid_mobile"
92
95
  @user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"
96
+ @charset = "UTF-8"
93
97
  end
94
98
 
95
99
  it "の trans_sid_mode は :mobile" do
@@ -99,44 +103,47 @@ describe TransSidMobileController, "という trans_sid :mobile が指定され
99
103
  end
100
104
  end
101
105
 
102
- def describe_mobile_with_ua(user_agent, &block)
106
+ def describe_mobile_with_ua(user_agent, charset, &block)
103
107
  describe("trans_sid :mobile が指定されているコントローラに #{user_agent} からアクセスしたとき") do
104
108
  before(:each) do
105
109
  @controller = "trans_sid_mobile"
106
110
  @user_agent = user_agent
111
+ @charset = charset
107
112
  end
108
113
 
109
114
  instance_eval(&block)
110
115
  end
111
116
  end
112
117
 
113
- # NOTE: Rails 3.0b4 では session_id が自動的に生成されるようなので、強制的に書き換わってしまう。
114
- # describe TransSidAlwaysAndSessionOffController, "という trans_sid :always が指定されていて session がロードされていないとき" do
115
- # before(:each) do
116
- # @controller = "trans_sid_always_and_session_off"
117
- # @user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"
118
- # end
118
+ describe TransSidAlwaysAndSessionOffController, "という trans_sid :always が指定されていて session がロードされていないとき" do
119
+ before(:each) do
120
+ @controller = "trans_sid_always_and_session_off"
121
+ @user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)"
122
+ @charset = "UTF-8"
123
+ end
119
124
 
120
- # it "の trans_sid_mode は :always" do
121
- # res = get_with_session(@controller, "link", @user_agent)
125
+ it "の trans_sid_mode は :always" do
126
+ res = get_with_session(@controller, "link", @user_agent)
122
127
 
123
- # res.controller.trans_sid_mode.should == :always
124
- # end
125
- # it_should_behave_like "trans_sid が起動しないとき"
126
- # end
128
+ res.controller.trans_sid_mode.should == :always
129
+ end
130
+ it_should_behave_like "trans_sid が起動しないとき"
131
+ end
127
132
 
128
- describe_mobile_with_ua "DoCoMo/2.0 SH902i(c100;TB;W24H12)" do
133
+ # NOTE: 3.0.0RC では accept-charset は UTF-8 で埋め込まれるので保留
134
+ describe_mobile_with_ua "DoCoMo/2.0 SH902i(c100;TB;W24H12)", "UTF-8" do
129
135
  it_should_behave_like "trans_sid が起動するとき"
130
136
  end
131
137
 
132
- describe_mobile_with_ua "KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0" do
138
+ # NOTE: 3.0.0RC では accept-charset は UTF-8 で埋め込まれるので保留
139
+ describe_mobile_with_ua "KDDI-CA32 UP.Browser/6.2.0.7.3.129 (GUI) MMP/2.0", "UTF-8" do
133
140
  it_should_behave_like "trans_sid が起動しないとき"
134
141
  end
135
142
 
136
- describe_mobile_with_ua "SoftBank/1.0/910T/TJ001/SN000000000000000 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1" do
143
+ describe_mobile_with_ua "SoftBank/1.0/910T/TJ001/SN000000000000000 Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1", "UTF-8" do
137
144
  it_should_behave_like "trans_sid が起動しないとき"
138
145
  end
139
146
 
140
- describe_mobile_with_ua "Vodafone/1.0/V903T/TJ001 Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0" do
147
+ describe_mobile_with_ua "Vodafone/1.0/V903T/TJ001 Browser/VF-Browser/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0", "UTF-8" do
141
148
  it_should_behave_like "trans_sid が起動しないとき"
142
149
  end
metadata CHANGED
@@ -7,7 +7,8 @@ version: !ruby/object:Gem::Version
7
7
  - 1
8
8
  - 0
9
9
  - pre
10
- version: 0.1.0.pre
10
+ - 2
11
+ version: 0.1.0.pre.2
11
12
  platform: ruby
12
13
  authors:
13
14
  - Yoji Shidara
@@ -16,7 +17,7 @@ autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2010-07-28 00:00:00 +09:00
20
+ date: 2010-07-29 00:00:00 +09:00
20
21
  default_executable:
21
22
  dependencies:
22
23
  - !ruby/object:Gem::Dependency