mugen 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/.gitignore +2 -0
  2. data/.travis.yml +5 -0
  3. data/CHANGELOG.md +3 -0
  4. data/Gemfile +5 -0
  5. data/LICENSE +20 -0
  6. data/README.md +65 -0
  7. data/Rakefile +31 -0
  8. data/autotest/discover.rb +1 -0
  9. data/generators/README +3 -0
  10. data/generators/USAGE +34 -0
  11. data/generators/mugen_generator.rb +63 -0
  12. data/generators/templates/app/controllers/mygengo/account_controller.rb +10 -0
  13. data/generators/templates/app/controllers/mygengo/comments_controller.rb +6 -0
  14. data/generators/templates/app/controllers/mygengo/jobs_controller.rb +153 -0
  15. data/generators/templates/app/helpers/mugen_helper.rb +11 -0
  16. data/generators/templates/app/views/layouts/mygengo.html.erb +52 -0
  17. data/generators/templates/app/views/mygengo/account/_balance.haml +5 -0
  18. data/generators/templates/app/views/mygengo/account/_stats.haml +9 -0
  19. data/generators/templates/app/views/mygengo/account/index.haml +3 -0
  20. data/generators/templates/app/views/mygengo/comments/_comment.haml +7 -0
  21. data/generators/templates/app/views/mygengo/comments/_form.haml +10 -0
  22. data/generators/templates/app/views/mygengo/jobs/_comments.haml +8 -0
  23. data/generators/templates/app/views/mygengo/jobs/_feedback.haml +8 -0
  24. data/generators/templates/app/views/mygengo/jobs/_job.haml +36 -0
  25. data/generators/templates/app/views/mygengo/jobs/_revision.haml +2 -0
  26. data/generators/templates/app/views/mygengo/jobs/index.haml +8 -0
  27. data/generators/templates/app/views/mygengo/jobs/new.haml +53 -0
  28. data/generators/templates/app/views/mygengo/jobs/reject_form.haml +36 -0
  29. data/generators/templates/app/views/mygengo/jobs/review_form.haml +54 -0
  30. data/generators/templates/app/views/mygengo/jobs/revise_form.haml +7 -0
  31. data/generators/templates/app/views/mygengo/jobs/revision.haml +8 -0
  32. data/generators/templates/app/views/mygengo/jobs/show.haml +38 -0
  33. data/generators/templates/config/initializers/mugen.rb +2 -0
  34. data/generators/templates/config/routes.rb +16 -0
  35. data/generators/templates/public/stylesheets/mygengo/base.css +397 -0
  36. data/generators/templates/public/stylesheets/mygengo/mugen.css +117 -0
  37. data/generators/templates/public/stylesheets/mygengo/override.css +1 -0
  38. data/generators/templates/public/stylesheets/mygengo/scaffold.css +56 -0
  39. data/generators/templates/public/stylesheets/mygengo/style.css +373 -0
  40. data/lib/generators/mugen/README +3 -0
  41. data/lib/generators/mugen/USAGE +35 -0
  42. data/lib/generators/mugen/mugen_generator.rb +50 -0
  43. data/lib/generators/mugen/templates/app/controllers/mygengo/account_controller.rb +10 -0
  44. data/lib/generators/mugen/templates/app/controllers/mygengo/comments_controller.rb +6 -0
  45. data/lib/generators/mugen/templates/app/controllers/mygengo/jobs_controller.rb +153 -0
  46. data/lib/generators/mugen/templates/app/controllers/mygengo/mygengo_controller.rb +18 -0
  47. data/lib/generators/mugen/templates/app/helpers/mugen_helper.rb +11 -0
  48. data/lib/generators/mugen/templates/app/views/layouts/mygengo.html.erb +52 -0
  49. data/lib/generators/mugen/templates/app/views/mygengo/account/_balance.haml +5 -0
  50. data/lib/generators/mugen/templates/app/views/mygengo/account/_stats.haml +9 -0
  51. data/lib/generators/mugen/templates/app/views/mygengo/account/index.haml +3 -0
  52. data/lib/generators/mugen/templates/app/views/mygengo/comments/_comment.haml +7 -0
  53. data/lib/generators/mugen/templates/app/views/mygengo/comments/_form.haml +10 -0
  54. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_comments.haml +8 -0
  55. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_feedback.haml +8 -0
  56. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_job.haml +36 -0
  57. data/lib/generators/mugen/templates/app/views/mygengo/jobs/_revision.haml +2 -0
  58. data/lib/generators/mugen/templates/app/views/mygengo/jobs/index.haml +8 -0
  59. data/lib/generators/mugen/templates/app/views/mygengo/jobs/new.haml +53 -0
  60. data/lib/generators/mugen/templates/app/views/mygengo/jobs/reject_form.haml +36 -0
  61. data/lib/generators/mugen/templates/app/views/mygengo/jobs/review_form.haml +54 -0
  62. data/lib/generators/mugen/templates/app/views/mygengo/jobs/revise_form.haml +7 -0
  63. data/lib/generators/mugen/templates/app/views/mygengo/jobs/revision.haml +8 -0
  64. data/lib/generators/mugen/templates/app/views/mygengo/jobs/show.haml +38 -0
  65. data/lib/generators/mugen/templates/config/initializers/mugen.rb +2 -0
  66. data/lib/generators/mugen/templates/config/routes2.rb +16 -0
  67. data/lib/generators/mugen/templates/config/routes3.rb +17 -0
  68. data/lib/generators/mugen/templates/public/images/mygengo/blank +0 -0
  69. data/lib/generators/mugen/templates/public/stylesheets/mygengo/base.css +397 -0
  70. data/lib/generators/mugen/templates/public/stylesheets/mygengo/mugen.css +117 -0
  71. data/lib/generators/mugen/templates/public/stylesheets/mygengo/override.css +1 -0
  72. data/lib/generators/mugen/templates/public/stylesheets/mygengo/scaffold.css +56 -0
  73. data/lib/generators/mugen/templates/public/stylesheets/mygengo/style.css +373 -0
  74. data/lib/mugen.rb +73 -0
  75. data/lib/mugen/account.rb +27 -0
  76. data/lib/mugen/client.rb +33 -0
  77. data/lib/mugen/core_extensions.rb +32 -0
  78. data/lib/mugen/httparty_extensions.rb +26 -0
  79. data/lib/mugen/job.rb +169 -0
  80. data/lib/mugen/jobs.rb +42 -0
  81. data/lib/mugen/service.rb +30 -0
  82. data/lib/mugen/version.rb +3 -0
  83. data/lib/tasks/mugen.rake +5 -0
  84. data/mugen.gemspec +33 -0
  85. data/rails/init.rb +1 -0
  86. data/spec/account_spec.rb +22 -0
  87. data/spec/job_spec.rb +40 -0
  88. data/spec/jobs_spec.rb +33 -0
  89. data/spec/mugen_spec.rb +33 -0
  90. data/spec/service_spec.rb +21 -0
  91. data/spec/spec_helper.rb +4 -0
  92. metadata +191 -0
@@ -0,0 +1,33 @@
1
+ # coding: UTF-8
2
+ $LOAD_PATH << File.join(File.dirname(__FILE__), 'lib')
3
+ require 'mugen/version'
4
+ Gem::Specification.new do |s|
5
+ s.name = "mugen"
6
+ s.version = Mugen::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.authors = ["Vladimir Penkin"]
9
+ s.email = ["penkinv@gmail.com"]
10
+ s.homepage = "http://github.com/shell/mugen"
11
+ s.summary = "MyGengo API wrapper"
12
+ s.description = "MyGengo API wrapper(http://mygengo.com/services/api/dev-docs/)"
13
+ s.rubyforge_project = s.name
14
+
15
+ s.required_rubygems_version = ">= 1.3.6"
16
+
17
+ s.add_runtime_dependency 'activesupport'
18
+ s.add_runtime_dependency 'httparty'
19
+ s.add_runtime_dependency 'haml'
20
+ s.add_runtime_dependency 'ruby-hmac'
21
+
22
+ s.add_development_dependency "rspec"
23
+
24
+ # The list of files to be contained in the gem
25
+ s.files = `git ls-files`.split("\n")
26
+ # s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
27
+ # s.extensions = `git ls-files ext/extconf.rb`.split("\n")
28
+
29
+ s.require_path = 'lib'
30
+
31
+ # For C extensions
32
+ # s.extensions = "ext/extconf.rb"
33
+ end
@@ -0,0 +1 @@
1
+ require "mugen"
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mugen::Account do
4
+ before(:each) do
5
+ Mugen.api_key = '6NO~NtyavKh@x-Uz@)0LG_PQ1KJI[(kd_2{oqv}H{ubO5Yu3is~IF^udRwM6QC6n'
6
+ Mugen.private_key = 'w0F((zYj3=09(AD|2B7)jNT@5F[wajwk[6u^stF59wCfuCtwMEMB^c7y=5V~WM^K'
7
+ @account = Mugen::Account
8
+ end
9
+
10
+ it "should retrieve stats" do
11
+ stats = @account.stats
12
+ stats.should be_a(Hash)
13
+ stats.should have_key('credits_spent')
14
+ stats.should have_key('user_since')
15
+ end
16
+
17
+ it "should retrieve balance" do
18
+ balance = @account.balance
19
+ balance.should be_a(Hash)
20
+ balance.should have_key('credits')
21
+ end
22
+ end
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mugen::Job do
4
+ before(:each) do
5
+ Mugen.api_key = '6NO~NtyavKh@x-Uz@)0LG_PQ1KJI[(kd_2{oqv}H{ubO5Yu3is~IF^udRwM6QC6n'
6
+ Mugen.private_key = 'w0F((zYj3=09(AD|2B7)jNT@5F[wajwk[6u^stF59wCfuCtwMEMB^c7y=5V~WM^K'
7
+ @job = Mugen::Job
8
+ @jobs = Mugen::Jobs.all
9
+ end
10
+
11
+ it "should retrieve job" do
12
+ job = @job.find(@jobs.first['job_id'])
13
+ job.should be_a(Hash)
14
+ job['job_id'].should == @jobs.first['job_id']
15
+ end
16
+
17
+ it "should retrieve job" do
18
+ job = @job.preview(@jobs.first['job_id'])
19
+ # TODO: raw jpeg stream
20
+ end
21
+
22
+
23
+
24
+ # it "should retrieve jobs by group_id" do
25
+ # balance = @jobs.by_group(1)
26
+ # # balance.should be_a(Array)
27
+ # # balance.should_not be_empty
28
+ # end
29
+ #
30
+ # it "should create jobs" do
31
+ # job = {
32
+ # 'slug' => 'API Job lazy loading test',
33
+ # 'body_src' => 'Where in the world is Carmen San Diego?',
34
+ # 'lc_src' => 'en',
35
+ # 'lc_tgt' => 'ja',
36
+ # 'tier' => 'standard'
37
+ # }
38
+ # balance = @jobs.create(job)
39
+ # end
40
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mugen::Jobs do
4
+ before(:each) do
5
+ Mugen.api_key = '6NO~NtyavKh@x-Uz@)0LG_PQ1KJI[(kd_2{oqv}H{ubO5Yu3is~IF^udRwM6QC6n'
6
+ Mugen.private_key = 'w0F((zYj3=09(AD|2B7)jNT@5F[wajwk[6u^stF59wCfuCtwMEMB^c7y=5V~WM^K'
7
+ @jobs = Mugen::Jobs
8
+ end
9
+
10
+ it "should retrieve jobs" do
11
+ stats = @jobs.all
12
+ stats.should be_a(Array)
13
+ stats.should_not be_empty
14
+ # TODO: any record should contain key 'job_id
15
+ end
16
+
17
+ # it "should retrieve jobs by group_id" do
18
+ # balance = @jobs.by_group(1)
19
+ # # balance.should be_a(Array)
20
+ # # balance.should_not be_empty
21
+ # end
22
+ #
23
+ # it "should create jobs" do
24
+ # job = {
25
+ # 'slug' => 'API Job lazy loading test',
26
+ # 'body_src' => 'Where in the world is Carmen San Diego?',
27
+ # 'lc_src' => 'en',
28
+ # 'lc_tgt' => 'ja',
29
+ # 'tier' => 'standard'
30
+ # }
31
+ # balance = @jobs.create(job)
32
+ # end
33
+ end
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ describe Mugen do
4
+ it "should raise error if API URL is not specified" do
5
+ Mugen.api_url.should == 'http://api.sandbox.mygengo.com/v1/'
6
+ end
7
+
8
+ it "should set API URL" do
9
+ Mugen.api_url = "http://foobar.com"
10
+ Mugen.api_url.should == "http://foobar.com"
11
+ end
12
+
13
+ it "should set API username" do
14
+ Mugen.api_key = "12345"
15
+ Mugen.api_key.should == "12345"
16
+ end
17
+
18
+ it "should raise error if API username is not specified" do
19
+ Mugen.api_key = nil
20
+ lambda { Mugen.api_key }.should raise_error
21
+ end
22
+
23
+ it "should set API password" do
24
+ Mugen.private_key = "12345"
25
+ Mugen.private_key.should == "12345"
26
+ end
27
+
28
+ it "should raise error if API password is not specified" do
29
+ Mugen.private_key = nil
30
+ lambda { Mugen.private_key }.should raise_error
31
+ end
32
+
33
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Mugen::Service do
4
+ before(:each) do
5
+ Mugen.api_key = '6NO~NtyavKh@x-Uz@)0LG_PQ1KJI[(kd_2{oqv}H{ubO5Yu3is~IF^udRwM6QC6n'
6
+ Mugen.private_key = 'w0F((zYj3=09(AD|2B7)jNT@5F[wajwk[6u^stF59wCfuCtwMEMB^c7y=5V~WM^K'
7
+ @service = Mugen::Service
8
+ end
9
+
10
+ it "should retrieve language_pairs" do
11
+ stats = @service.language_pairs
12
+ stats.should be_a(Array)
13
+ stats.should_not be_empty
14
+ end
15
+
16
+ it "should retrieve languages" do
17
+ balance = @service.languages
18
+ balance.should be_a(Array)
19
+ balance.should_not be_empty
20
+ end
21
+ end
@@ -0,0 +1,4 @@
1
+ require "bundler"
2
+ Bundler.setup
3
+
4
+ require "mugen"
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mugen
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Vladimir Penkin
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-02-07 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: &70253753959580 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70253753959580
25
+ - !ruby/object:Gem::Dependency
26
+ name: httparty
27
+ requirement: &70253753959120 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70253753959120
36
+ - !ruby/object:Gem::Dependency
37
+ name: haml
38
+ requirement: &70253753958700 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70253753958700
47
+ - !ruby/object:Gem::Dependency
48
+ name: ruby-hmac
49
+ requirement: &70253753958280 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70253753958280
58
+ - !ruby/object:Gem::Dependency
59
+ name: rspec
60
+ requirement: &70253753957860 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70253753957860
69
+ description: MyGengo API wrapper(http://mygengo.com/services/api/dev-docs/)
70
+ email:
71
+ - penkinv@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - .gitignore
77
+ - .travis.yml
78
+ - CHANGELOG.md
79
+ - Gemfile
80
+ - LICENSE
81
+ - README.md
82
+ - Rakefile
83
+ - autotest/discover.rb
84
+ - generators/README
85
+ - generators/USAGE
86
+ - generators/mugen_generator.rb
87
+ - generators/templates/app/controllers/mygengo/account_controller.rb
88
+ - generators/templates/app/controllers/mygengo/comments_controller.rb
89
+ - generators/templates/app/controllers/mygengo/jobs_controller.rb
90
+ - generators/templates/app/helpers/mugen_helper.rb
91
+ - generators/templates/app/views/layouts/mygengo.html.erb
92
+ - generators/templates/app/views/mygengo/account/_balance.haml
93
+ - generators/templates/app/views/mygengo/account/_stats.haml
94
+ - generators/templates/app/views/mygengo/account/index.haml
95
+ - generators/templates/app/views/mygengo/comments/_comment.haml
96
+ - generators/templates/app/views/mygengo/comments/_form.haml
97
+ - generators/templates/app/views/mygengo/jobs/_comments.haml
98
+ - generators/templates/app/views/mygengo/jobs/_feedback.haml
99
+ - generators/templates/app/views/mygengo/jobs/_job.haml
100
+ - generators/templates/app/views/mygengo/jobs/_revision.haml
101
+ - generators/templates/app/views/mygengo/jobs/index.haml
102
+ - generators/templates/app/views/mygengo/jobs/new.haml
103
+ - generators/templates/app/views/mygengo/jobs/reject_form.haml
104
+ - generators/templates/app/views/mygengo/jobs/review_form.haml
105
+ - generators/templates/app/views/mygengo/jobs/revise_form.haml
106
+ - generators/templates/app/views/mygengo/jobs/revision.haml
107
+ - generators/templates/app/views/mygengo/jobs/show.haml
108
+ - generators/templates/config/initializers/mugen.rb
109
+ - generators/templates/config/routes.rb
110
+ - generators/templates/public/stylesheets/mygengo/base.css
111
+ - generators/templates/public/stylesheets/mygengo/mugen.css
112
+ - generators/templates/public/stylesheets/mygengo/override.css
113
+ - generators/templates/public/stylesheets/mygengo/scaffold.css
114
+ - generators/templates/public/stylesheets/mygengo/style.css
115
+ - lib/generators/mugen/README
116
+ - lib/generators/mugen/USAGE
117
+ - lib/generators/mugen/mugen_generator.rb
118
+ - lib/generators/mugen/templates/app/controllers/mygengo/account_controller.rb
119
+ - lib/generators/mugen/templates/app/controllers/mygengo/comments_controller.rb
120
+ - lib/generators/mugen/templates/app/controllers/mygengo/jobs_controller.rb
121
+ - lib/generators/mugen/templates/app/controllers/mygengo/mygengo_controller.rb
122
+ - lib/generators/mugen/templates/app/helpers/mugen_helper.rb
123
+ - lib/generators/mugen/templates/app/views/layouts/mygengo.html.erb
124
+ - lib/generators/mugen/templates/app/views/mygengo/account/_balance.haml
125
+ - lib/generators/mugen/templates/app/views/mygengo/account/_stats.haml
126
+ - lib/generators/mugen/templates/app/views/mygengo/account/index.haml
127
+ - lib/generators/mugen/templates/app/views/mygengo/comments/_comment.haml
128
+ - lib/generators/mugen/templates/app/views/mygengo/comments/_form.haml
129
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/_comments.haml
130
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/_feedback.haml
131
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/_job.haml
132
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/_revision.haml
133
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/index.haml
134
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/new.haml
135
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/reject_form.haml
136
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/review_form.haml
137
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/revise_form.haml
138
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/revision.haml
139
+ - lib/generators/mugen/templates/app/views/mygengo/jobs/show.haml
140
+ - lib/generators/mugen/templates/config/initializers/mugen.rb
141
+ - lib/generators/mugen/templates/config/routes2.rb
142
+ - lib/generators/mugen/templates/config/routes3.rb
143
+ - lib/generators/mugen/templates/public/images/mygengo/blank
144
+ - lib/generators/mugen/templates/public/stylesheets/mygengo/base.css
145
+ - lib/generators/mugen/templates/public/stylesheets/mygengo/mugen.css
146
+ - lib/generators/mugen/templates/public/stylesheets/mygengo/override.css
147
+ - lib/generators/mugen/templates/public/stylesheets/mygengo/scaffold.css
148
+ - lib/generators/mugen/templates/public/stylesheets/mygengo/style.css
149
+ - lib/mugen.rb
150
+ - lib/mugen/account.rb
151
+ - lib/mugen/client.rb
152
+ - lib/mugen/core_extensions.rb
153
+ - lib/mugen/httparty_extensions.rb
154
+ - lib/mugen/job.rb
155
+ - lib/mugen/jobs.rb
156
+ - lib/mugen/service.rb
157
+ - lib/mugen/version.rb
158
+ - lib/tasks/mugen.rake
159
+ - mugen.gemspec
160
+ - rails/init.rb
161
+ - spec/account_spec.rb
162
+ - spec/job_spec.rb
163
+ - spec/jobs_spec.rb
164
+ - spec/mugen_spec.rb
165
+ - spec/service_spec.rb
166
+ - spec/spec_helper.rb
167
+ homepage: http://github.com/shell/mugen
168
+ licenses: []
169
+ post_install_message:
170
+ rdoc_options: []
171
+ require_paths:
172
+ - lib
173
+ required_ruby_version: !ruby/object:Gem::Requirement
174
+ none: false
175
+ requirements:
176
+ - - ! '>='
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ! '>='
183
+ - !ruby/object:Gem::Version
184
+ version: 1.3.6
185
+ requirements: []
186
+ rubyforge_project: mugen
187
+ rubygems_version: 1.8.16
188
+ signing_key:
189
+ specification_version: 3
190
+ summary: MyGengo API wrapper
191
+ test_files: []