restrack 1.1.1 → 1.1.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.
data/bin/restrack CHANGED
@@ -28,5 +28,6 @@ when :generate, :gen, :g
28
28
  puts 'Creation is complete.'
29
29
  when :server, :s
30
30
  options = { :Port => noun || 9292, :config => 'config.ru' }
31
+ options.merge { :environment => ARGV[2] } unless ARGV[2].nil?
31
32
  Rack::Server.start( options )
32
33
  end
@@ -1,3 +1,3 @@
1
- # Rails.root/config.ru
2
- require 'loader'
1
+ # rackup config.ru
2
+ require File.join(File.dirname(__FILE__),'loader')
3
3
  run <%= @service_name.camelize %>::WebService.new
@@ -12,12 +12,12 @@ module RESTRack
12
12
  # Write input details to logs
13
13
  RESTRack.request_log.info "{#{@request_id}} #{@request.path_info} requested from #{@request.ip}"
14
14
  end
15
-
15
+
16
16
  def fulfill
17
17
  self.prepare
18
18
  return self.response
19
19
  end
20
-
20
+
21
21
  def prepare
22
22
  # Pull input data from POST body
23
23
  @input = parse_body( @request )
@@ -42,7 +42,7 @@ module RESTRack
42
42
  end
43
43
  if @active_resource_name.nil? or not RESTRack.controller_exists?(@active_resource_name)
44
44
  raise HTTP404ResourceNotFound unless RESTRack::CONFIG[:DEFAULT_RESOURCE]
45
- @active_resource_name = RESTRack::CONFIG[:DEFAULT_RESOURCE]
45
+ @active_resource_name = RESTRack::CONFIG[:DEFAULT_RESOURCE]
46
46
  end
47
47
  raise HTTP403Forbidden unless RESTRack::CONFIG[:ROOT_RESOURCE_ACCEPT].blank? or RESTRack::CONFIG[:ROOT_RESOURCE_ACCEPT].include?(@active_resource_name)
48
48
  raise HTTP403Forbidden if not RESTRack::CONFIG[:ROOT_RESOURCE_DENY].blank? and RESTRack::CONFIG[:ROOT_RESOURCE_DENY].include?(@active_resource_name)
@@ -89,7 +89,7 @@ module RESTRack
89
89
  RESTRack.log.debug "{#{@request_id}} #{request_mime_type.to_s} data in:\n" + input.pretty_inspect
90
90
  input
91
91
  end
92
-
92
+
93
93
  def get_params(request)
94
94
  params = request.GET
95
95
  end
@@ -126,6 +126,8 @@ module RESTRack
126
126
  elsif @mime_type.like?( RESTRack.mime_type_for( :XML ) )
127
127
  if File.exists? builder_file
128
128
  @output = builder_up(data)
129
+ elsif data.respond_to?(:to_xml)
130
+ @output = data.to_xml
129
131
  else
130
132
  @output = XmlSimple.xml_out(data, 'AttrPrefix' => true, 'XmlDeclaration' => true, 'NoIndent' => true)
131
133
  end
@@ -1,3 +1,3 @@
1
1
  module RESTRack
2
- VERSION = "1.1.1"
2
+ VERSION = "1.1.2"
3
3
  end
metadata CHANGED
@@ -1,125 +1,122 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: restrack
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.2
4
5
  prerelease:
5
- version: 1.1.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Chris St. John
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-17 00:00:00 -04:00
14
- default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
12
+ date: 2011-09-08 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
17
15
  name: rack
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &17758880 !ruby/object:Gem::Requirement
20
17
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
25
22
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: rack-test
29
23
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *17758880
25
+ - !ruby/object:Gem::Dependency
26
+ name: rack-test
27
+ requirement: &17758460 !ruby/object:Gem::Requirement
31
28
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
36
33
  type: :development
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: i18n
40
34
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *17758460
36
+ - !ruby/object:Gem::Dependency
37
+ name: i18n
38
+ requirement: &17758040 !ruby/object:Gem::Requirement
42
39
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
47
44
  type: :runtime
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: json
51
45
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *17758040
47
+ - !ruby/object:Gem::Dependency
48
+ name: json
49
+ requirement: &17757620 !ruby/object:Gem::Requirement
53
50
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
58
55
  type: :runtime
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: xml-simple
62
56
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *17757620
58
+ - !ruby/object:Gem::Dependency
59
+ name: xml-simple
60
+ requirement: &17757120 !ruby/object:Gem::Requirement
64
61
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
68
65
  version: 1.0.13
69
66
  type: :runtime
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: builder
73
67
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *17757120
69
+ - !ruby/object:Gem::Dependency
70
+ name: builder
71
+ requirement: &17756700 !ruby/object:Gem::Requirement
75
72
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
80
77
  type: :runtime
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: activesupport
84
78
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
79
+ version_requirements: *17756700
80
+ - !ruby/object:Gem::Dependency
81
+ name: activesupport
82
+ requirement: &17756240 !ruby/object:Gem::Requirement
86
83
  none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: "0"
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
91
88
  type: :runtime
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: mime-types
95
89
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
90
+ version_requirements: *17756240
91
+ - !ruby/object:Gem::Dependency
92
+ name: mime-types
93
+ requirement: &17755820 !ruby/object:Gem::Requirement
97
94
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
102
99
  type: :runtime
103
- version_requirements: *id008
104
- description: "\n\
105
- RESTRack is a Rack-based MVC framework that makes it extremely easy to develop RESTful data services. It is inspired by\n\
106
- Rails, and follows a few of its conventions. But it has no routes file, routing relationships are done through\n\
107
- supplying custom code blocks to class methods such as \"has_relationship_to\" or \"has_mapped_relationships_to\".\n\n\
108
- RESTRack aims at being lightweight and easy to use. It will automatically render JSON and XML for the data\n\
109
- structures you return in your actions (any structure parsable by the \"json\" and\n\
110
- \"xml-simple\" gems, respectively).\n\n\
111
- If you supply a view for a controller action, you do that using a builder file. Builder files are stored in the\n\
112
- view directory grouped by controller name subdirectories (`view/<controller>/<action>.xml.builder`). XML format\n\
113
- requests will then render the view template with the builder gem, rather than generating XML with XmlSimple.\n "
114
- email:
100
+ prerelease: false
101
+ version_requirements: *17755820
102
+ description: ! "\nRESTRack is a Rack-based MVC framework that makes it extremely easy
103
+ to develop RESTful data services. It is inspired by\nRails, and follows a few of
104
+ its conventions. But it has no routes file, routing relationships are done through\nsupplying
105
+ custom code blocks to class methods such as \"has_relationship_to\" or \"has_mapped_relationships_to\".\n\nRESTRack
106
+ aims at being lightweight and easy to use. It will automatically render JSON and
107
+ XML for the data\nstructures you return in your actions (any structure parsable
108
+ by the \"json\" and\n\"xml-simple\" gems, respectively).\n\nIf you supply a view
109
+ for a controller action, you do that using a builder file. Builder files are stored
110
+ in the\nview directory grouped by controller name subdirectories (`view/<controller>/<action>.xml.builder`).
111
+ \ XML format\nrequests will then render the view template with the builder gem,
112
+ rather than generating XML with XmlSimple.\n "
113
+ email:
115
114
  - chris@stjohnstudios.com
116
- executables:
115
+ executables:
117
116
  - restrack
118
117
  extensions: []
119
-
120
118
  extra_rdoc_files: []
121
-
122
- files:
119
+ files:
123
120
  - Gemfile
124
121
  - README.markdown
125
122
  - README.markdown.html
@@ -139,7 +136,6 @@ files:
139
136
  - lib/restrack/version.rb
140
137
  - lib/restrack/web_service.rb
141
138
  - restrack.gemspec
142
- - restrack.komodoproject
143
139
  - test/sample_app_1/config.ru
144
140
  - test/sample_app_1/config/constants.yaml
145
141
  - test/sample_app_1/controllers/bat_controller.rb
@@ -185,77 +181,29 @@ files:
185
181
  - test/sample_app_4/views/alphatest.png
186
182
  - test/test_support.rb
187
183
  - test/test_web_service.rb
188
- has_rdoc: true
189
184
  homepage: http://github.com/stjohncj/RESTRack
190
185
  licenses: []
191
-
192
186
  post_install_message:
193
187
  rdoc_options: []
194
-
195
- require_paths:
188
+ require_paths:
196
189
  - lib
197
- required_ruby_version: !ruby/object:Gem::Requirement
190
+ required_ruby_version: !ruby/object:Gem::Requirement
198
191
  none: false
199
- requirements:
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- version: "0"
203
- required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ! '>='
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ required_rubygems_version: !ruby/object:Gem::Requirement
204
197
  none: false
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: "0"
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
209
202
  requirements: []
210
-
211
203
  rubyforge_project: restrack
212
- rubygems_version: 1.5.2
204
+ rubygems_version: 1.8.6
213
205
  signing_key:
214
206
  specification_version: 3
215
- summary: A lightweight MVC framework developed specifically for JSON (and XML) REST services.
216
- test_files:
217
- - test/sample_app_1/config.ru
218
- - test/sample_app_1/config/constants.yaml
219
- - test/sample_app_1/controllers/bat_controller.rb
220
- - test/sample_app_1/controllers/bata_controller.rb
221
- - test/sample_app_1/controllers/baz_controller.rb
222
- - test/sample_app_1/controllers/baza_controller.rb
223
- - test/sample_app_1/controllers/bazu_controller.rb
224
- - test/sample_app_1/controllers/foo_bar_controller.rb
225
- - test/sample_app_1/loader.rb
226
- - test/sample_app_1/test/test_controller_actions.rb
227
- - test/sample_app_1/test/test_controller_inputs.rb
228
- - test/sample_app_1/test/test_controller_modifiers.rb
229
- - test/sample_app_1/test/test_formats.rb
230
- - test/sample_app_1/test/test_resource_request.rb
231
- - test/sample_app_1/test/test_web_service.rb
232
- - test/sample_app_1/views/foo_bar/show.xml.builder
233
- - test/sample_app_2/config/constants.yaml
234
- - test/sample_app_2/controllers/bat_controller.rb
235
- - test/sample_app_2/controllers/baz_controller.rb
236
- - test/sample_app_2/controllers/baza_controller.rb
237
- - test/sample_app_2/controllers/bazu_controller.rb
238
- - test/sample_app_2/controllers/foo_bar_controller.rb
239
- - test/sample_app_2/loader.rb
240
- - test/sample_app_2/test/test_controller_modifiers.rb
241
- - test/sample_app_2/test/test_resource_request.rb
242
- - test/sample_app_2/views/foo_bar/show.xml.builder
243
- - test/sample_app_3/config/constants.yaml
244
- - test/sample_app_3/controllers/bat_controller.rb
245
- - test/sample_app_3/controllers/baz_controller.rb
246
- - test/sample_app_3/controllers/baza_controller.rb
247
- - test/sample_app_3/controllers/bazu_controller.rb
248
- - test/sample_app_3/controllers/foo_bar_controller.rb
249
- - test/sample_app_3/loader.rb
250
- - test/sample_app_3/test/test_resource_request.rb
251
- - test/sample_app_3/views/foo_bar/show.xml.builder
252
- - test/sample_app_4/config/constants.yaml
253
- - test/sample_app_4/controllers/bar_controller.rb
254
- - test/sample_app_4/controllers/baz_controller.rb
255
- - test/sample_app_4/controllers/foo_controller.rb
256
- - test/sample_app_4/loader.rb
257
- - test/sample_app_4/test/test_controller_modifiers.rb
258
- - test/sample_app_4/test/test_formats.rb
259
- - test/sample_app_4/views/alphatest.png
260
- - test/test_support.rb
261
- - test/test_web_service.rb
207
+ summary: A lightweight MVC framework developed specifically for JSON (and XML) REST
208
+ services.
209
+ test_files: []
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Komodo Project File - DO NOT EDIT -->
3
- <project id="1b07bef2-e0ab-1142-afc9-806da10889c5" kpf_version="5" name="restrack.komodoproject">
4
- <preference-set idref="1b07bef2-e0ab-1142-afc9-806da10889c5">
5
- <boolean id="import_live">1</boolean>
6
- </preference-set>
7
- </project>