rhodes 0.2.1 → 0.2.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/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ == 0.2.2 2009-01-23
2
+ * fixed bug in layout.erb template
3
+
4
+ == 0.2.1 2009-01-20
5
+ * adding new layout framework to generator [#45]
6
+
1
7
  == 0.2.0 2009-01-07
2
8
  * releasing 0.2 version of gem
3
9
  * fixed sqlite3-ruby 1.2.4 dependency [#147]
data/Manifest.txt CHANGED
@@ -32,7 +32,6 @@ lib/rho/rhocontroller.rb
32
32
  lib/rho/rhofsconnector.rb
33
33
  lib/rho/rhosupport.rb
34
34
  lib/rho/rhoviewhelpers.rb
35
- lib/rho/settings_controller.rb
36
35
  lib/rhodes.rb
37
36
  lib/rhoframework.rb
38
37
  lib/rhofsconnector.rb
@@ -42,6 +41,7 @@ lib/rhom/rhom_db_adapter.rb
42
41
  lib/rhom/rhom_db_adapterME.rb
43
42
  lib/rhom/rhom_object.rb
44
43
  lib/rhom/rhom_object_factory.rb
44
+ lib/rhom/rhom_source.rb
45
45
  lib/singleton.rb
46
46
  lib/time.rb
47
47
  rhodes.gemspec
@@ -54,7 +54,6 @@ spec/generator_spec_helper.rb
54
54
  spec/model_generator_spec.rb
55
55
  spec/rho_spec.rb
56
56
  spec/rhom_object_factory_spec.rb
57
- spec/settings_controller_spec.rb
58
57
  spec/source_generator_spec.rb
59
58
  spec/spec.opts
60
59
  spec/spec_helper.rb
@@ -3,15 +3,15 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml">
4
4
  <head>
5
5
  <title><%= class_name %></title>
6
- <% if System::get_property('platform') == 'APPLE' %>
6
+ <%% if System::get_property('platform') == 'APPLE' %>
7
7
  <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
8
8
  <style type="text/css" media="screen">@import "/shared/js/iui/iui.css"; @import "/shared/css/rho.css";</style>
9
9
  <script type="application/x-javascript" src="/shared/js/iui/iui.js"></script>
10
10
  <script src="/shared/js/jquery-1.2.6.min.js"></script>
11
11
  <script src="/shared/js/rho.js"></script>
12
- <% end %>
12
+ <%% end %>
13
13
  </head>
14
14
  <body>
15
- <%= @content %>
15
+ <%%= @content %>
16
16
  </body>
17
17
  </html>
data/lib/date/format.rb CHANGED
@@ -298,7 +298,7 @@ class Date
298
298
  when 'w', 'Ow'; emit_n(wday, 1, f)
299
299
  when 'X', 'EX'; emit_a(strftime('%H:%M:%S'), 0, f)
300
300
  when 'x', 'Ex'; emit_a(strftime('%m/%d/%y'), 0, f)
301
- when 'Y', 'EY'; emit_sn(year, 4, f)
301
+ when 'Y', 'EY'; emit_sn(year(), 4, f)
302
302
  when 'y', 'Ey', 'Oy'; emit_n(year % 100, 2, f)
303
303
  when 'Z'; emit_au(strftime('%:z'), 0, f)
304
304
  when /\A(:{0,3})z/
@@ -1034,7 +1034,7 @@ class Date
1034
1034
  def self._parse(str, comp=true)
1035
1035
  str = str.dup
1036
1036
 
1037
- e = Format::Bag.new
1037
+ e = Date::Format::Bag.new
1038
1038
 
1039
1039
  e._comp = comp
1040
1040
 
@@ -1246,8 +1246,8 @@ class Date
1246
1246
  else
1247
1247
  dst = zone.sub!(/\s+dst\z/, '')
1248
1248
  end
1249
- if Format::ZONES.include?(zone)
1250
- offset = Format::ZONES[zone]
1249
+ if Date::Format::ZONES.include?(zone)
1250
+ offset = Date::Format::ZONES[zone]
1251
1251
  offset += 3600 if dst
1252
1252
  elsif zone.sub!(/\A(?:gmt|utc?)?([-+])/, '')
1253
1253
  sign = $1
data/lib/rhodes.rb CHANGED
@@ -1,5 +1,9 @@
1
1
  module Rhodes
2
2
  unless defined? Rhodes::VERSION
3
- VERSION = '0.2.1'
3
+ VERSION = '0.2.2'
4
4
  end
5
+ unless defined? Rhodes::DBVERSION
6
+ DBVERSION = '0.2.2'
7
+ end
8
+
5
9
  end
@@ -17,6 +17,8 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
19
  #
20
+ require 'rhodes'
21
+
20
22
  module Rhom
21
23
  class RhomDbAdapter
22
24
 
@@ -26,7 +28,7 @@ module Rhom
26
28
  def open(dbfile=nil)
27
29
  puts "DB name = " + dbfile.inspect
28
30
  unless @@database or dbfile.nil?
29
- db = DbAdapter.new(dbfile)
31
+ db = DbAdapter.new(Rhodes::DBVERSION)
30
32
  @@database = db
31
33
  end
32
34
 
@@ -26,22 +26,24 @@ module Rhom
26
26
 
27
27
  def initialize
28
28
  unless not defined? Rho::RhoConfig::sources
29
- init_source_attribs
29
+ ::Rhom::RhomObjectFactory::init_source_attribs
30
30
  init_objects
31
31
  end
32
32
  end
33
33
 
34
- def init_source_attribs
35
- # merge source attributes into config hash
36
- # TODO: This shouldn't reference 'source[1]' directly
37
- Rho::RhoConfig::sources.each do |source|
38
- src_attribs = ::Rhom::RhomDbAdapter::select_from_table(::Rhom::TABLE_NAME,
39
- 'attrib',
40
- {"source_id"=>source[1]['source_id'].to_s},
41
- {"distinct"=>true})
42
- # update our source with the proper attributes
43
- source[1].merge!({"attribs"=>src_attribs})
44
- end
34
+ class << self
35
+ def init_source_attribs
36
+ # merge source attributes into config hash
37
+ # TODO: This shouldn't reference 'source[1]' directly
38
+ Rho::RhoConfig::sources.each do |source|
39
+ src_attribs = ::Rhom::RhomDbAdapter::select_from_table(::Rhom::TABLE_NAME,
40
+ 'attrib',
41
+ {"source_id"=>source[1]['source_id'].to_s},
42
+ {"distinct"=>true})
43
+ # update our source with the proper attributes
44
+ source[1].merge!({"attribs"=>src_attribs})
45
+ end
46
+ end
45
47
  end
46
48
 
47
49
  # Initialize new object with dynamic attributes
@@ -103,8 +105,16 @@ module Rhom
103
105
  # returns an array of objects based on an existing array
104
106
  def get_list(objs)
105
107
  new_list = []
106
- if objs and defined? Rho::RhoConfig::sources[self.name.to_s]
107
- attrib_length = Rho::RhoConfig::sources[self.name.to_s]['attribs'].length
108
+ attrib_length = 0
109
+ source = Rho::RhoConfig::sources[self.name.to_s]
110
+ if source
111
+ attrib_length = source['attribs'].length
112
+ end
113
+ if attrib_length == 0
114
+ # source attributes are not initialized, try again
115
+ ::Rhom::RhomObjectFactory::init_source_attribs
116
+ end
117
+ if objs and source and attrib_length > 0
108
118
  list_length = 0
109
119
  list_length = (objs.length / attrib_length) unless attrib_length == 0
110
120
  new_obj = nil
@@ -129,10 +139,6 @@ module Rhom
129
139
  end
130
140
  new_list << new_obj
131
141
  end
132
- else
133
- # source attributes are not initialized,
134
- # try again
135
- RhomObjectFactory::init_sources
136
142
  end
137
143
  new_list
138
144
  end
@@ -210,12 +216,6 @@ module Rhom
210
216
  # then we procede with update
211
217
  if new_val and val != new_val
212
218
  unless self.method_name_reserved?(method) or new_val.length == 0
213
- # update viewable list
214
- =begin
215
- result = ::Rhom::RhomDbAdapter::update_into_table(::Rhom::TABLE_NAME,
216
- {"value"=>new_val},
217
- {"object"=>obj, "attrib"=>method})
218
- =end
219
219
  # update sync list
220
220
  result = ::Rhom::RhomDbAdapter::insert_into_table(::Rhom::TABLE_NAME,
221
221
  {"source_id"=>self.get_inst_source_id,
@@ -0,0 +1,54 @@
1
+ require 'time'
2
+ require 'rhom/rhom_object'
3
+
4
+ module Rhom
5
+ class RhomSource
6
+ attr_accessor :source_url
7
+ attr_reader :source_id, :name, :last_updated, :last_inserted_size,
8
+ :last_deleted_size, :last_sync_duration,
9
+ :last_sync_success
10
+
11
+ def initialize(args)
12
+ # setup the name
13
+ # TODO: should really store this in the database
14
+ Rho::RhoConfig::sources.each do |key,value|
15
+ if value['source_id'].to_i == args['source_id'].to_i
16
+ @name = key
17
+ end
18
+ end
19
+ @source_id = args['source_id'].to_i
20
+ @source_url = args['source_url']
21
+ @last_updated = Time.at(args['last_updated'].to_i).to_s
22
+ @last_inserted_size = args['last_inserted_size'].to_i
23
+ @last_deleted_size = args['last_deleted_size'].to_i
24
+ @last_sync_duration = args['last_sync_duration'].to_i
25
+ @last_sync_success = args['last_sync_success'].to_i == 1 ? true : false
26
+ end
27
+
28
+ class << self
29
+ include RhomObject
30
+ def find(*args)
31
+ list = []
32
+ if args.first == :all
33
+ results = ::Rhom::RhomDbAdapter::select_from_table('sources', '*')
34
+
35
+ results.each do |result|
36
+ list << RhomSource.new(result)
37
+ end
38
+ else
39
+ result = ::Rhom::RhomDbAdapter::select_from_table('sources', '*',
40
+ {"source_id" => strip_braces(args.first)}).first
41
+ list << RhomSource.new(result)
42
+ end
43
+ list.size > 1 ? list : list[0]
44
+ end
45
+ end
46
+
47
+ def update_attributes(params=nil)
48
+ if params
49
+ ::Rhom::RhomDbAdapter::update_into_table('sources', {"source_url"=>params['source_url']},
50
+ {"source_id"=>strip_braces(params['source_id'])})
51
+ end
52
+ end
53
+ end
54
+ end
data/lib/time.rb CHANGED
@@ -40,10 +40,7 @@
40
40
  # $Id$
41
41
  #
42
42
 
43
- if defined? RHO_ME
44
- else
45
- require 'date/format'
46
- end
43
+ require 'date/format'
47
44
 
48
45
  #
49
46
  # Implements the extensions to the Time class that are described in the
@@ -347,7 +344,7 @@ class Time
347
344
  else
348
345
  year += 1900
349
346
  end
350
- self.utc(year, $2, $1.to_i, $4.to_i, $5.to_i, $6.to_i)
347
+ self.utc(year(), $2, $1.to_i, $4.to_i, $5.to_i, $6.to_i)
351
348
  elsif /\A\s*
352
349
  (?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)\x20
353
350
  (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\x20
@@ -416,9 +413,9 @@ class Time
416
413
  #
417
414
  def rfc2822
418
415
  sprintf('%s, %02d %s %d %02d:%02d:%02d ',
419
- RFC2822_DAY_NAME[wday],
420
- day, RFC2822_MONTH_NAME[mon-1], year,
421
- hour, min, sec) +
416
+ RFC2822_DAY_NAME[wday()],
417
+ day(), RFC2822_MONTH_NAME[mon()-1], year(),
418
+ hour(), min(), sec() ) +
422
419
  if utc?
423
420
  '-0000'
424
421
  else
data/spec/rho_spec.rb CHANGED
@@ -26,7 +26,7 @@ describe "Rho" do
26
26
 
27
27
  it "should populate configuration in sources table" do
28
28
  sources = Rhom::RhomDbAdapter::select_from_table('sources','*')
29
- sources.size.should > 0
29
+ sources.size.should > 1
30
30
  end
31
31
 
32
32
  it "should initialize configuration only once" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rhodes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rhomobile Dev
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-20 00:00:00 -08:00
12
+ date: 2009-01-23 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -139,7 +139,6 @@ files:
139
139
  - lib/rho/rhofsconnector.rb
140
140
  - lib/rho/rhosupport.rb
141
141
  - lib/rho/rhoviewhelpers.rb
142
- - lib/rho/settings_controller.rb
143
142
  - lib/rhodes.rb
144
143
  - lib/rhoframework.rb
145
144
  - lib/rhofsconnector.rb
@@ -149,6 +148,7 @@ files:
149
148
  - lib/rhom/rhom_db_adapterME.rb
150
149
  - lib/rhom/rhom_object.rb
151
150
  - lib/rhom/rhom_object_factory.rb
151
+ - lib/rhom/rhom_source.rb
152
152
  - lib/singleton.rb
153
153
  - lib/time.rb
154
154
  - rhodes.gemspec
@@ -161,7 +161,6 @@ files:
161
161
  - spec/model_generator_spec.rb
162
162
  - spec/rho_spec.rb
163
163
  - spec/rhom_object_factory_spec.rb
164
- - spec/settings_controller_spec.rb
165
164
  - spec/source_generator_spec.rb
166
165
  - spec/spec.opts
167
166
  - spec/spec_helper.rb
@@ -1,23 +0,0 @@
1
- require 'rho'
2
- require 'rho/rhocontroller'
3
-
4
- module Rho
5
- class SettingsController < Rho::RhoController
6
- include Rhom::RhomObject
7
- def get_source(id)
8
- ::Rhom::RhomDbAdapter::select_from_table('sources','*',{"source_id"=>strip_braces(id)}).first
9
- end
10
-
11
- def update_source(source, id)
12
- if source and id
13
- ::Rhom::RhomDbAdapter::update_into_table('sources',
14
- {"source_url"=>source['source_url']},
15
- {"source_id"=>strip_braces(id)})
16
- end
17
- end
18
-
19
- def get_all_sources
20
- Rho::RhoConfig::sources
21
- end
22
- end
23
- end
@@ -1,49 +0,0 @@
1
- #
2
- # settings_spec.rb
3
- # rhodes
4
- #
5
- # Copyright (C) 2008 Lars Burgess. All rights reserved.
6
- #
7
- # This program is free software: you can redistribute it and/or modify
8
- # it under the terms of the GNU General Public License as published by
9
- # the Free Software Foundation, either version 3 of the License, or
10
- # (at your option) any later version.
11
- #
12
- # This program is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- # GNU General Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License
18
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
19
- #
20
- $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
21
- require 'rho/settings_controller'
22
- require File.dirname(__FILE__) + "/spec_helper"
23
-
24
- describe "Rho" do
25
-
26
- it_should_behave_like "rho initializer"
27
-
28
- before(:all) do
29
- @controller = Rho::SettingsController.new
30
- end
31
-
32
- it "should get all sources for index" do
33
- @controller.get_all_sources.size.should > 0
34
- end
35
-
36
- it "should retrieve source for update" do
37
- @controller.get_source('{1}')['source_url'].should =~ /sources\/1/
38
-
39
- end
40
-
41
- it "should retrieve source without braces" do
42
- @controller.get_source('1')['source_url'].should =~ /sources\/1/
43
- end
44
-
45
- it "should update source" do
46
- @controller.update_source({'source_url'=>'http://acme.com/sources/30'},'1')
47
- @controller.get_source('1')['source_url'].should == 'http://acme.com/sources/30'
48
- end
49
- end