ghost_reader 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,109 @@
1
+ require 'rubygems'
2
+ require "webrick/httputils"
3
+ require "bundler"
4
+
5
+ Bundler.require(:default, :development)
6
+
7
+ # A Testhandler for Mongrel serving yaml-File and notice the data
8
+ class GhostHandler<Mongrel::HttpHandler
9
+
10
+ def initialize
11
+ @request_count=0
12
+ @not_modified=false
13
+ @modified_value='not_modified'
14
+ end
15
+
16
+ def modified=(value)
17
+ @modified_value=value
18
+ end
19
+
20
+ def request_count
21
+ @request_count
22
+ end
23
+
24
+ def last_params
25
+ @last_params
26
+ end
27
+
28
+ def last_hits
29
+ @last_hits
30
+ end
31
+
32
+ def last_miss
33
+ @last_miss
34
+ end
35
+
36
+ def not_modified=(new_value)
37
+ @not_modified=new_value
38
+ end
39
+
40
+ def process(request, response)
41
+ @last_params=request.params
42
+ if @last_params["REQUEST_METHOD"]=="POST"
43
+ form_data= WEBrick::HTTPUtils::parse_query(request.body.readline)
44
+ @last_hits=JSON::parse(form_data['hits'])
45
+ @last_miss=JSON::parse(form_data['miss'])
46
+ end
47
+
48
+ if @not_modified
49
+ response.start(304) do |head, out|
50
+ out.write("")
51
+ end
52
+ else
53
+ response.start(200) do |head, out|
54
+ head["Content-Type"] = "text/plain"
55
+ # Set Dummy-Last-Modified (only handled as String in ghost_reader)
56
+ head["Last-Modified"] = Time.now.to_s
57
+ # Put data for Client
58
+ out.write({
59
+ 'en'=>{
60
+ 'test'=>'hello'+(@request_count+=1).to_s,
61
+ 'modified'=>@modified_value,
62
+ 'scoped'=>{
63
+ 'test'=>'scoped_result'
64
+ },
65
+ 'activerecord'=>{
66
+ 'errors'=>{
67
+ 'messages'=>{
68
+ 'odd'=>'Odd value'
69
+ }
70
+ }
71
+ },
72
+ 'thanks'=>'Thanks %{name}',
73
+ 'inbox'=>{
74
+ 'one'=> '1 message',
75
+ 'other'=>'%{count} messages'
76
+ },
77
+ 'number'=>{
78
+ 'human'=>{
79
+ 'format'=>{
80
+ 'delimiter'=>''
81
+ }
82
+ },
83
+ 'format'=>{
84
+ 'separator'=>'.'
85
+ }
86
+ },
87
+ 'hash_and_string' =>{
88
+ 'k1'=>'v1',
89
+ 'k2'=>'v2'
90
+ },
91
+ 'string_and_hash' =>'String value'
92
+ },
93
+ 'de'=>{
94
+ 'thanks'=>'Danke %{name}'
95
+
96
+ },
97
+ 'es'=>{'dummy'=>'nothing'}
98
+ }.to_yaml)
99
+ end
100
+ end
101
+ end
102
+ end
103
+ #require 'active_support'
104
+ #require 'action_view/helpers/number_helper'
105
+ require 'action_view'
106
+
107
+ class Helper
108
+ include ActionView::Helpers::NumberHelper
109
+ end
metadata ADDED
@@ -0,0 +1,247 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ghost_reader
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
11
+ platform: ruby
12
+ authors:
13
+ - "Andreas K\xC3\xB6nig"
14
+ - Phil Hofmann
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-10-10 00:00:00 +02:00
20
+ default_executable:
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: i18n
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: json
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: excon
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ type: :runtime
63
+ version_requirements: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ name: ruby-debug
66
+ prerelease: false
67
+ requirement: &id004 !ruby/object:Gem::Requirement
68
+ none: false
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ hash: 3
73
+ segments:
74
+ - 0
75
+ version: "0"
76
+ type: :development
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: guard
80
+ prerelease: false
81
+ requirement: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ type: :development
91
+ version_requirements: *id005
92
+ - !ruby/object:Gem::Dependency
93
+ name: guard-rspec
94
+ prerelease: false
95
+ requirement: &id006 !ruby/object:Gem::Requirement
96
+ none: false
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ type: :development
105
+ version_requirements: *id006
106
+ - !ruby/object:Gem::Dependency
107
+ name: rack
108
+ prerelease: false
109
+ requirement: &id007 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ hash: 3
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ type: :development
119
+ version_requirements: *id007
120
+ - !ruby/object:Gem::Dependency
121
+ name: rake
122
+ prerelease: false
123
+ requirement: &id008 !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ hash: 3
129
+ segments:
130
+ - 0
131
+ version: "0"
132
+ type: :development
133
+ version_requirements: *id008
134
+ - !ruby/object:Gem::Dependency
135
+ name: rspec
136
+ prerelease: false
137
+ requirement: &id009 !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ hash: 3
143
+ segments:
144
+ - 0
145
+ version: "0"
146
+ type: :development
147
+ version_requirements: *id009
148
+ - !ruby/object:Gem::Dependency
149
+ name: mongrel
150
+ prerelease: false
151
+ requirement: &id010 !ruby/object:Gem::Requirement
152
+ none: false
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ hash: 3
157
+ segments:
158
+ - 0
159
+ version: "0"
160
+ type: :development
161
+ version_requirements: *id010
162
+ - !ruby/object:Gem::Dependency
163
+ name: actionpack
164
+ prerelease: false
165
+ requirement: &id011 !ruby/object:Gem::Requirement
166
+ none: false
167
+ requirements:
168
+ - - "="
169
+ - !ruby/object:Gem::Version
170
+ hash: 9
171
+ segments:
172
+ - 3
173
+ - 0
174
+ - 7
175
+ version: 3.0.7
176
+ type: :development
177
+ version_requirements: *id011
178
+ description: |-
179
+ Loads I18n-Yaml-Files via http and exchanges statistical data
180
+ and updates with the ghost_server
181
+ email:
182
+ - koa@panter.ch
183
+ - phil@branch14.org
184
+ executables: []
185
+
186
+ extensions: []
187
+
188
+ extra_rdoc_files: []
189
+
190
+ files:
191
+ - .gitignore
192
+ - .rspec
193
+ - .rvmrc
194
+ - Gemfile
195
+ - Guardfile
196
+ - README.md
197
+ - Rakefile
198
+ - doc/ARCH.md
199
+ - doc/SPEC.md
200
+ - doc/request_mockups.rb
201
+ - ghost_reader.gemspec
202
+ - lib/ghost_reader.rb
203
+ - lib/ghost_reader/backend.rb
204
+ - lib/ghost_reader/client.rb
205
+ - lib/ghost_reader/version.rb
206
+ - lib/tasks/ghost_reader.rake
207
+ - lib/tasks/templates/ghost_reader.rb
208
+ - spec/ghost_reader/backend_spec.rb
209
+ - spec/ghost_reader/client_spec.rb
210
+ - spec/ghost_reader/ghost_reader_spec.rb
211
+ - spec/spec_helper.rb
212
+ has_rdoc: true
213
+ homepage: https://github.com/branch14/ghost_reader
214
+ licenses: []
215
+
216
+ post_install_message:
217
+ rdoc_options: []
218
+
219
+ require_paths:
220
+ - lib
221
+ required_ruby_version: !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ">="
225
+ - !ruby/object:Gem::Version
226
+ hash: 3
227
+ segments:
228
+ - 0
229
+ version: "0"
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
231
+ none: false
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ hash: 3
236
+ segments:
237
+ - 0
238
+ version: "0"
239
+ requirements: []
240
+
241
+ rubyforge_project: ghost_reader
242
+ rubygems_version: 1.5.2
243
+ signing_key:
244
+ specification_version: 3
245
+ summary: i18n backend to ghost_writer service
246
+ test_files: []
247
+