ruboto-core 0.3.3 → 0.4.0

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.
Files changed (35) hide show
  1. data/README.md +3 -3
  2. data/Rakefile +75 -0
  3. data/assets/Rakefile +76 -85
  4. data/assets/res/layout/get_ruboto_core.xml +25 -0
  5. data/assets/samples/sample_broadcast_receiver.rb +1 -2
  6. data/assets/src/InheritingActivity.java +181 -5
  7. data/assets/src/InheritingBroadcastReceiver.java +22 -5
  8. data/assets/src/InheritingClass.java +4 -13
  9. data/assets/src/RubotoActivity.java +78 -118
  10. data/assets/src/RubotoBroadcastReceiver.java +31 -50
  11. data/assets/src/RubotoService.java +13 -28
  12. data/assets/src/org/ruboto/Script.java +286 -114
  13. data/assets/src/org/ruboto/test/ActivityTest.java +25 -26
  14. data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +28 -29
  15. data/assets/{assets/scripts → src}/ruboto.rb +13 -8
  16. data/assets/test/assets/scripts/test_helper.rb +8 -4
  17. data/lib/ruboto/commands/base.rb +42 -6
  18. data/lib/ruboto/util/build.rb +25 -18
  19. data/lib/ruboto/util/update.rb +53 -30
  20. data/lib/ruboto/util/xml_element.rb +2 -2
  21. data/lib/ruboto/version.rb +3 -0
  22. data/test/activity/image_button_activity.rb +1 -1
  23. data/test/activity/image_button_and_button_activity.rb +1 -1
  24. data/test/activity/stack_activity.rb +21 -0
  25. data/test/activity/stack_activity_test.rb +24 -0
  26. data/test/app_test_methods.rb +25 -32
  27. data/test/rake_test.rb +15 -17
  28. data/test/ruboto_gen_test.rb +1 -16
  29. data/test/ruboto_gen_with_psych_test.rb +16 -0
  30. data/test/ruboto_update_test.rb +1 -47
  31. data/test/ruboto_update_with_psych_test.rb +18 -0
  32. data/test/service_test.rb +4 -2
  33. data/test/test_helper.rb +32 -22
  34. data/test/update_test_methods.rb +29 -0
  35. metadata +13 -22
@@ -3,45 +3,38 @@ require File.expand_path("test_helper", File.dirname(__FILE__))
3
3
  module AppTestMethods
4
4
  include RubotoTest
5
5
 
6
- if ['android-7', 'android-8'].include? ANDROID_OS
7
- def test_nothing
8
- puts "Skipping instrumentation tests on #{ANDROID_OS} since they don't work."
6
+ def test_activity_tests
7
+ if not ON_JRUBY_JARS_1_5_6
8
+ assert_code 'YamlLoads', "with_large_stack{require 'yaml'}"
9
+ else
10
+ puts "Skipping YAML tests on jruby-jars-1.5.6"
9
11
  end
10
- else
11
- def test_activity_tests
12
- if not ON_JRUBY_JARS_1_5_6
13
- assert_code 'YamlLoads', "with_large_stack{require 'yaml'}"
14
- else
15
- puts "Skipping YAML tests on jruby-jars-1.5.6"
16
- end
17
12
 
18
- assert_code 'ReadSourceFile', "File.read(__FILE__)"
13
+ assert_code 'ReadSourceFile', "File.read(__FILE__)"
19
14
 
20
- Dir[File.expand_path('activity/*_test.rb', File.dirname(__FILE__))].each do |test_src|
21
- snake_name = test_src.chomp('_test.rb')
22
- activity_name = File.basename(snake_name).split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join
23
- Dir.chdir APP_DIR do
24
- system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}"
25
- FileUtils.cp "#{snake_name}.rb", "assets/scripts/"
26
- FileUtils.cp test_src, "test/assets/scripts/"
27
- end
15
+ Dir[File.expand_path('activity/*_test.rb', File.dirname(__FILE__))].each do |test_src|
16
+ snake_name = test_src.chomp('_test.rb')
17
+ activity_name = File.basename(snake_name).split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join
18
+ Dir.chdir APP_DIR do
19
+ system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}"
20
+ FileUtils.cp "#{snake_name}.rb", "src/"
21
+ FileUtils.cp test_src, "test/assets/scripts/"
28
22
  end
29
- run_app_tests
30
23
  end
24
+ run_app_tests
25
+ end
31
26
 
32
- private
27
+ private
33
28
 
34
- def assert_code(activity_name, code)
35
- snake_name = activity_name.scan(/[A-Z]+[a-z]+/).map { |s| s.downcase }.join('_')
36
- filename = "assets/scripts/#{snake_name}_activity.rb"
37
- Dir.chdir APP_DIR do
38
- system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}Activity"
39
- s = File.read(filename)
40
- s.gsub!(/(require 'ruboto')/, "\\1\n#{code}")
41
- File.open(filename, 'w') { |f| f << s }
42
- end
29
+ def assert_code(activity_name, code)
30
+ snake_name = activity_name.scan(/[A-Z]+[a-z]+/).map { |s| s.downcase }.join('_')
31
+ filename = "src/#{snake_name}_activity.rb"
32
+ Dir.chdir APP_DIR do
33
+ system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}Activity"
34
+ s = File.read(filename)
35
+ s.gsub!(/(require 'ruboto')/, "\\1\n#{code}")
36
+ File.open(filename, 'w') { |f| f << s }
43
37
  end
44
-
45
38
  end
46
39
 
47
- end
40
+ end
data/test/rake_test.rb CHANGED
@@ -9,29 +9,27 @@ class RakeTest < Test::Unit::TestCase
9
9
  cleanup_app
10
10
  end
11
11
 
12
- def test_that_update_scripts_task_copies_files_to_sdcard_if_permissions_are_set
13
- manifest = File.read("#{APP_DIR}/AndroidManifest.xml")
14
- manifest.gsub! %r{</manifest>}, %Q{ <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />\n</manifest>}
15
- File.open("#{APP_DIR}/AndroidManifest.xml", 'w') { |f| f << manifest }
16
-
17
- Dir.chdir APP_DIR do
18
- system 'rake install:clean start'
19
- assert_equal 0, $?
20
- end
21
-
22
- # wait_for_dir("/mnt/sdcard/Android/data/#{PACKAGE}/files/scripts")
23
- wait_for_dir("/sdcard/Android/data/#{PACKAGE}/files/scripts")
24
- end
25
-
26
12
  if ANDROID_OS == 'android-7'
27
13
  puts "Skipping sdcard test since files on sdcard are not removed on android-7 on app uninstall"
28
14
  else
29
- def test_that_update_scripts_task_copies_files_to_app_directory_when_permissions_are_not_set
15
+ def test_that_update_scripts_task_copies_files_to_sdcard_and_are_read_by_activity
30
16
  Dir.chdir APP_DIR do
31
- system 'rake install:clean start'
17
+ activity_filename = "src/ruboto_test_app_activity.rb"
18
+ s = File.read(activity_filename)
19
+ s.gsub!(/What hath Matz wrought\?/, "This text was changed by script!")
20
+ File.open(activity_filename, 'w') { |f| f << s }
21
+
22
+ test_filename = "test/assets/scripts/ruboto_test_app_activity_test.rb"
23
+ s2 = File.read(test_filename)
24
+ s2.gsub!(/What hath Matz wrought\?/, "This text was changed by script!")
25
+ File.open(test_filename, 'w') { |f| f << s2 }
26
+
27
+ apk_timestamp = File.ctime("bin/#{APP_NAME}-debug.apk")
28
+ system 'rake test:quick'
32
29
  assert_equal 0, $?
30
+ assert_equal apk_timestamp, File.ctime("bin/#{APP_NAME}-debug.apk"), 'APK should not have been rebuilt'
31
+ assert `adb shell ls -d /sdcard/Android/data/#{PACKAGE}/files/scripts`.chomp =~ %r{^/sdcard/Android/data/#{PACKAGE}/files/scripts$}
33
32
  end
34
- wait_for_dir("/data/data/#{PACKAGE}/files/scripts")
35
33
  end
36
34
  end
37
35
 
@@ -23,25 +23,10 @@ class RubotoGenTest < Test::Unit::TestCase
23
23
  system "#{RUBOTO_CMD} gen class activity --name VeryNewActivity"
24
24
  assert_equal 1, $?.exitstatus
25
25
  assert !File.exists?('src/org/ruboto/test_app/VeryNewActivity.java')
26
- assert !File.exists?('assets/scripts/very_new_activity.rb')
26
+ assert !File.exists?('src/very_new_activity.rb')
27
27
  assert !File.exists?('test/assets/scripts/very_new_activity_test.rb')
28
28
  assert File.read('AndroidManifest.xml') !~ /VeryNewActivity/
29
29
  end
30
30
  end
31
31
 
32
32
  end
33
-
34
- if not RubotoTest::ON_JRUBY_JARS_1_5_6
35
- class RubotoGenWithPsychTest < RubotoGenTest
36
- def setup
37
- generate_app :with_psych => true
38
- end
39
-
40
- def test_psych_jar_exists
41
- assert File.exists?("#{APP_DIR}/libs/psych.jar"), "Failed to generate psych jar"
42
- end
43
-
44
- end
45
- else
46
- puts "Skipping Psych tests on jruby-jars-1.5.6"
47
- end
@@ -0,0 +1,16 @@
1
+ require File.expand_path("ruboto_gen_test", File.dirname(__FILE__))
2
+
3
+ if not RubotoTest::ON_JRUBY_JARS_1_5_6
4
+ class RubotoGenWithPsychTest < RubotoGenTest
5
+ def setup
6
+ generate_app :with_psych => true
7
+ end
8
+
9
+ def test_psych_jar_exists
10
+ assert File.exists?("#{APP_DIR}/libs/psych.jar"), "Failed to generate psych jar"
11
+ end
12
+
13
+ end
14
+ else
15
+ puts "Skipping Psych tests on jruby-jars-1.5.6"
16
+ end
@@ -1,51 +1,5 @@
1
- require File.expand_path("test_helper", File.dirname(__FILE__))
2
- require 'test/app_test_methods'
3
-
4
- module UpdateTestMethods
5
- include RubotoTest
6
-
7
- def setup(with_psych = false)
8
- generate_app(:with_psych => with_psych, :update => true)
9
- end
10
-
11
- def teardown
12
- cleanup_app
13
- end
14
-
15
- def test_properties_and_ant_file_has_no_duplicates
16
- Dir.chdir APP_DIR do
17
- assert File.readlines('test/build.properties').grep(/\w/).uniq!.nil?, 'Duplicate lines in build.properties'
18
- assert_equal 1, File.readlines('test/build.xml').grep(/<macrodef name="run-tests-helper">/).size, 'Duplicate macro in build.xml'
19
- end
20
- end
21
-
22
- def test_icons_are_untouched
23
- Dir.chdir APP_DIR do
24
- assert_equal 4100, File.size('res/drawable-hdpi/icon.png')
25
- end
26
- end
27
-
28
- end
1
+ require File.expand_path("update_test_methods", File.dirname(__FILE__))
29
2
 
30
3
  class RubotoUpdateTest < Test::Unit::TestCase
31
4
  include UpdateTestMethods
32
- include AppTestMethods
33
- end
34
-
35
- if not RubotoTest::ON_JRUBY_JARS_1_5_6
36
- class RubotoUpdateWithPsychTest < Test::Unit::TestCase
37
- include UpdateTestMethods
38
- include AppTestMethods
39
-
40
- def setup
41
- super(true)
42
- end
43
-
44
- def test_psych_jar_exists
45
- assert File.exists?("#{APP_DIR}/libs/psych.jar"), "Failed to generate psych jar"
46
- end
47
-
48
- end
49
- else
50
- puts "Skipping Psych tests on jruby-jars-1.5.6"
51
5
  end
@@ -0,0 +1,18 @@
1
+ require File.expand_path("update_test_methods", File.dirname(__FILE__))
2
+
3
+ if not RubotoTest::ON_JRUBY_JARS_1_5_6
4
+ class RubotoUpdateWithPsychTest < Test::Unit::TestCase
5
+ include UpdateTestMethods
6
+
7
+ def setup
8
+ super(true)
9
+ end
10
+
11
+ def test_psych_jar_exists
12
+ assert File.exists?("#{APP_DIR}/libs/psych.jar"), "Failed to generate psych jar"
13
+ end
14
+
15
+ end
16
+ else
17
+ puts "Skipping Psych tests on jruby-jars-1.5.6"
18
+ end
data/test/service_test.rb CHANGED
@@ -2,6 +2,8 @@ require File.expand_path("test_helper", File.dirname(__FILE__))
2
2
  require 'fileutils'
3
3
 
4
4
  class ServiceTest < Test::Unit::TestCase
5
+ SRC_DIR ="#{APP_DIR}/src"
6
+
5
7
  def setup
6
8
  generate_app
7
9
  end
@@ -13,7 +15,7 @@ class ServiceTest < Test::Unit::TestCase
13
15
  def test_service_startup
14
16
  Dir.chdir APP_DIR do
15
17
  system "#{RUBOTO_CMD} gen class Service --name RubotoTestService"
16
- service_filename = "#{APP_DIR}/assets/scripts/ruboto_test_service.rb"
18
+ service_filename = "#{SRC_DIR}/ruboto_test_service.rb"
17
19
  assert File.exists? service_filename
18
20
  File.open(service_filename, 'w'){|f| f << <<EOF}
19
21
  require 'ruboto'
@@ -34,7 +36,7 @@ $service.handle_start_command do
34
36
  end
35
37
  EOF
36
38
 
37
- activity_filename = "#{APP_DIR}/assets/scripts/ruboto_test_app_activity.rb"
39
+ activity_filename = "#{SRC_DIR}/ruboto_test_app_activity.rb"
38
40
  s = File.read(activity_filename)
39
41
  s.gsub!(/^(end)$/, "
40
42
  startService(android.content.Intent.new($activity.application_context, $package.RubotoTestService.java_class))
data/test/test_helper.rb CHANGED
@@ -7,19 +7,24 @@ module RubotoTest
7
7
  PROJECT_DIR = File.expand_path('..', File.dirname(__FILE__))
8
8
  $LOAD_PATH << PROJECT_DIR
9
9
 
10
+ # FIXME(uwe): Simplify when we stop supporting rubygems < 1.8.0
10
11
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.8.0')
11
12
  gem_spec = Gem::Specification.find_by_path 'jruby-jars'
12
13
  else
13
14
  gem_spec = Gem.searcher.find('jruby-jars')
14
15
  end
16
+ # FIXME end
17
+
15
18
  raise StandardError.new("Can't find Gem specification jruby-jars.") unless gem_spec
16
- JRUBY_JARS_VERSION = gem_spec.version
19
+ JRUBY_JARS_VERSION = gem_spec.version
20
+
21
+ # FIXME(uwe): Remove when we stop supporting JRuby 1.5.6
17
22
  ON_JRUBY_JARS_1_5_6 = JRUBY_JARS_VERSION == Gem::Version.new('1.5.6')
18
23
 
19
- PACKAGE = 'org.ruboto.test_app'
20
- APP_NAME = 'RubotoTestApp'
21
- TMP_DIR = File.join PROJECT_DIR, 'tmp'
22
- APP_DIR = File.join TMP_DIR, APP_NAME
24
+ PACKAGE = 'org.ruboto.test_app'
25
+ APP_NAME = 'RubotoTestApp'
26
+ TMP_DIR = File.join PROJECT_DIR, 'tmp'
27
+ APP_DIR = File.join TMP_DIR, APP_NAME
23
28
  ANDROID_TARGET = ENV['ANDROID_TARGET'] || 'android-7'
24
29
 
25
30
  VERSION_TO_API_LEVEL = {
@@ -28,7 +33,7 @@ module RubotoTest
28
33
  '2.3.3' => 'android-10', '2.3.4' => 'android-10',
29
34
  '3.0' => 'android-11', '3.1' => 'android-12', '3.2' => 'android-13'
30
35
  }
31
-
36
+
32
37
  def self.version_from_device
33
38
  puts "Reading OS version from device/emulator"
34
39
  system "adb wait-for-device"
@@ -90,6 +95,17 @@ class Test::Unit::TestCase
90
95
  excluded_stdlibs = options.delete(:excluded_stdlibs)
91
96
  raise "Unknown options: #{options.inspect}" unless options.empty?
92
97
  Dir.mkdir TMP_DIR unless File.exists? TMP_DIR
98
+
99
+ if with_psych || excluded_stdlibs
100
+ system 'rake platform:uninstall'
101
+ else
102
+ system 'rake platform:install'
103
+ end
104
+ if $? != 0
105
+ FileUtils.rm_rf 'tmp/RubotoCore'
106
+ fail 'Error (un)installing RubotoCore'
107
+ end
108
+
93
109
  FileUtils.rm_rf APP_DIR if File.exists? APP_DIR
94
110
  template_dir = "#{APP_DIR}_template_#{$$}#{'_with_psych' if with_psych}#{'_updated' if update}#{"_without_#{excluded_stdlibs.join('_')}" if excluded_stdlibs}"
95
111
  if File.exists?(template_dir)
@@ -106,8 +122,8 @@ class Test::Unit::TestCase
106
122
  android_home = File.dirname(File.dirname(`which adb`))
107
123
  end
108
124
  Dir.chdir APP_DIR do
109
- File.open('local.properties', 'w'){|f| f.puts "sdk.dir=#{android_home}"}
110
- File.open('test/local.properties', 'w'){|f| f.puts "sdk.dir=#{android_home}"}
125
+ File.open('local.properties', 'w') { |f| f.puts "sdk.dir=#{android_home}" }
126
+ File.open('test/local.properties', 'w') { |f| f.puts "sdk.dir=#{android_home}" }
111
127
  FileUtils.touch "libs/psych.jar" if with_psych
112
128
  exclude_stdlibs(excluded_stdlibs) if excluded_stdlibs
113
129
  system "#{RUBOTO_CMD} update app"
@@ -142,25 +158,19 @@ class Test::Unit::TestCase
142
158
  end
143
159
 
144
160
  def run_app_tests
145
- Dir.chdir "#{APP_DIR}/test" do
146
- system 'rake test:quick'
147
- assert_equal 0, $?, "tests failed with return code #$?"
148
- end
149
- end
150
-
151
- def wait_for_dir(dir)
152
- puts "Waiting for app to generate script directory: #{dir}"
153
- start = Time.now
154
- loop do
155
- break if `adb shell ls -d #{dir}`.chomp =~ %r{^#{dir}$}
156
- flunk 'Timeout waiting for scripts directory to appear' if Time.now > start + 120
157
- sleep 1
161
+ if ['android-7', 'android-8'].include? ANDROID_OS
162
+ puts "Skipping instrumentation tests on #{ANDROID_OS} since they don't work."
163
+ else
164
+ Dir.chdir APP_DIR do
165
+ system 'rake test:quick'
166
+ assert_equal 0, $?, "tests failed with return code #$?"
167
+ end
158
168
  end
159
169
  end
160
170
 
161
171
  def exclude_stdlibs(excluded_stdlibs)
162
172
  puts "Adding ruboto.yml: #{excluded_stdlibs.join(' ')}"
163
- File.open('ruboto.yml', 'w'){|f| f << YAML.dump({:excluded_stdlibs => excluded_stdlibs})}
173
+ File.open('ruboto.yml', 'w') { |f| f << YAML.dump({:excluded_stdlibs => excluded_stdlibs}) }
164
174
  end
165
175
 
166
176
  end
@@ -0,0 +1,29 @@
1
+ require File.expand_path("test_helper", File.dirname(__FILE__))
2
+ require 'test/app_test_methods'
3
+
4
+ module UpdateTestMethods
5
+ include RubotoTest
6
+ include AppTestMethods
7
+
8
+ def setup(with_psych = false)
9
+ generate_app(:with_psych => with_psych, :update => true)
10
+ end
11
+
12
+ def teardown
13
+ cleanup_app
14
+ end
15
+
16
+ def test_properties_and_ant_file_has_no_duplicates
17
+ Dir.chdir APP_DIR do
18
+ assert File.readlines('test/build.properties').grep(/\w/).uniq!.nil?, 'Duplicate lines in build.properties'
19
+ assert_equal 1, File.readlines('test/build.xml').grep(/<macrodef name="run-tests-helper">/).size, 'Duplicate macro in build.xml'
20
+ end
21
+ end
22
+
23
+ def test_icons_are_untouched
24
+ Dir.chdir APP_DIR do
25
+ assert_equal 4100, File.size('res/drawable-hdpi/icon.png')
26
+ end
27
+ end
28
+
29
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboto-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 3
9
- - 3
10
- version: 0.3.3
8
+ - 4
9
+ - 0
10
+ version: 0.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Jackoway
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-08-21 00:00:00 Z
21
+ date: 2011-09-19 00:00:00 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  name: main
@@ -43,22 +43,6 @@ dependencies:
43
43
  version: 4.7.2
44
44
  type: :runtime
45
45
  version_requirements: *id001
46
- - !ruby/object:Gem::Dependency
47
- name: jruby-jars
48
- prerelease: false
49
- requirement: &id002 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 15
55
- segments:
56
- - 1
57
- - 5
58
- - 6
59
- version: 1.5.6
60
- type: :runtime
61
- version_requirements: *id002
62
46
  description: The core components of Ruby on Android
63
47
  email: ruboto@googlegroups.com
64
48
  executables:
@@ -73,11 +57,11 @@ files:
73
57
  - Gemfile.lock
74
58
  - Rakefile
75
59
  - README.md
76
- - assets/assets/scripts/ruboto.rb
77
60
  - assets/Rakefile
78
61
  - assets/res/drawable-hdpi/icon.png
79
62
  - assets/res/drawable-ldpi/icon.png
80
63
  - assets/res/drawable-mdpi/icon.png
64
+ - assets/res/layout/get_ruboto_core.xml
81
65
  - assets/samples/sample_activity.rb
82
66
  - assets/samples/sample_activity_test.rb
83
67
  - assets/samples/sample_broadcast_receiver.rb
@@ -92,6 +76,7 @@ files:
92
76
  - assets/src/org/ruboto/Script.java
93
77
  - assets/src/org/ruboto/test/ActivityTest.java
94
78
  - assets/src/org/ruboto/test/InstrumentationTestRunner.java
79
+ - assets/src/ruboto.rb
95
80
  - assets/src/RubotoActivity.java
96
81
  - assets/src/RubotoBroadcastReceiver.java
97
82
  - assets/src/RubotoService.java
@@ -113,6 +98,7 @@ files:
113
98
  - lib/ruboto/util/update.rb
114
99
  - lib/ruboto/util/verify.rb
115
100
  - lib/ruboto/util/xml_element.rb
101
+ - lib/ruboto/version.rb
116
102
  - lib/ruboto.rb
117
103
  - test/activity/image_button_activity.rb
118
104
  - test/activity/image_button_activity_test.rb
@@ -120,13 +106,18 @@ files:
120
106
  - test/activity/image_button_and_button_activity_test.rb
121
107
  - test/activity/option_menu_activity.rb
122
108
  - test/activity/option_menu_activity_test.rb
109
+ - test/activity/stack_activity.rb
110
+ - test/activity/stack_activity_test.rb
123
111
  - test/app_test_methods.rb
124
112
  - test/minimal_app_test.rb
125
113
  - test/rake_test.rb
126
114
  - test/ruboto_gen_test.rb
115
+ - test/ruboto_gen_with_psych_test.rb
127
116
  - test/ruboto_update_test.rb
117
+ - test/ruboto_update_with_psych_test.rb
128
118
  - test/service_test.rb
129
119
  - test/test_helper.rb
120
+ - test/update_test_methods.rb
130
121
  homepage: http://ruboto.org/
131
122
  licenses: []
132
123