ideone-ruby-api 1.3.5 → 2.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 001863875eed57b773be63c9ae772bf42d80c791
4
+ data.tar.gz: 530757e8307000be2aa9b2616efe98c26b397705
5
+ SHA512:
6
+ metadata.gz: aa32c8b38d83f5e3c07b3d45caeae5523e29a83b55896aff9e0e9a320d7809d1c97c6f0a11763a59e72edad81bb91ccb50370aa9f457b1baedd01129b3bb1d66
7
+ data.tar.gz: 0e48ce9bd2a067f7873a7e6d5be8b5bef087a99f0c387d8175cedbe3455fea721f3b6ce35dfb49c413f987637a57ccbdc16198fd90625fa331c0c2f04dff3737
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
data/Gemfile CHANGED
@@ -2,13 +2,11 @@ source "http://rubygems.org"
2
2
  # Add dependencies required to use your gem here.
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
- gem 'savon'
5
+ gem "savon", "~> 2.3.3"
6
6
 
7
7
  # Add dependencies to develop your gem here.
8
8
  # Include everything needed to run rake, tests, features, etc.
9
9
  group :development do
10
- gem "bundler", "~> 1.0.0"
11
- gem "jeweler", "~> 1.6.4"
12
- gem "rcov", ">= 0"
10
+ gem "jeweler", "~> 2.0.1"
13
11
  gem "test-unit", "~> 2.3"
14
12
  end
@@ -1,5 +1,7 @@
1
1
  = ideone-ruby-api
2
2
 
3
+ {<img src="https://secure.travis-ci.org/kennym/ideone-ruby-api.png" />}[http://travis-ci.org/kennym/ideone-ruby-api]
4
+
3
5
  Ideone is a pastebin, as well as an online compiler and debugger. This
4
6
  project is a Ruby binding to the Ideone API.
5
7
 
@@ -70,6 +72,6 @@ Then, you can run `rake test`
70
72
 
71
73
  == Copyright
72
74
 
73
- Copyright (c) 2011 Kenny Meyer. See LICENSE.txt for
75
+ Copyright (c) 2011-2014 Kenny Meyer. See LICENSE.txt for
74
76
  further details.
75
77
 
data/Rakefile CHANGED
@@ -12,14 +12,16 @@ end
12
12
  require 'rake'
13
13
 
14
14
  require 'jeweler'
15
+ require './lib/ideone/version.rb'
15
16
  Jeweler::Tasks.new do |gem|
16
17
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
18
+ gem.version = Ideone::Version::STRING
17
19
  gem.name = "ideone-ruby-api"
18
20
  gem.homepage = "http://github.com/kennym/ideone-ruby-api"
19
21
  gem.license = "MIT"
20
22
  gem.summary = "Ruby binding for Ideone API"
21
23
  gem.description = "A better Ruby binding for the Ideone API "
22
- gem.email = "knny.myer@gmail.com"
24
+ gem.email = "kenny@kennymeyer.net"
23
25
  gem.authors = ["Kenny Meyer"]
24
26
  # dependencies defined in Gemfile
25
27
  end
@@ -32,17 +34,9 @@ Rake::TestTask.new(:test) do |test|
32
34
  test.verbose = true
33
35
  end
34
36
 
35
- require 'rcov/rcovtask'
36
- Rcov::RcovTask.new do |test|
37
- test.libs << 'test'
38
- test.pattern = 'test/**/test_*.rb'
39
- test.verbose = true
40
- test.rcov_opts << '--exclude "gems/*"'
41
- end
42
-
43
37
  task :default => :test
44
38
 
45
- require 'rake/rdoctask'
39
+ require 'rdoc/task'
46
40
  Rake::RDocTask.new do |rdoc|
47
41
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
42
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.5
1
+ 2.0.0
@@ -4,20 +4,21 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{ideone-ruby-api}
8
- s.version = "1.3.5"
7
+ s.name = "ideone-ruby-api"
8
+ s.version = "2.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kenny Meyer"]
12
- s.date = %q{2011-08-12}
13
- s.description = %q{A better Ruby binding for the Ideone API }
14
- s.email = %q{knny.myer@gmail.com}
12
+ s.date = "2014-02-20"
13
+ s.description = "A better Ruby binding for the Ideone API "
14
+ s.email = "kenny@kennymeyer.net"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ ".travis.yml",
21
22
  "Gemfile",
22
23
  "LICENSE.txt",
23
24
  "README.rdoc",
@@ -25,36 +26,31 @@ Gem::Specification.new do |s|
25
26
  "VERSION",
26
27
  "ideone-ruby-api.gemspec",
27
28
  "lib/ideone.rb",
29
+ "lib/ideone/version.rb",
28
30
  "test/helper.rb",
29
31
  "test/test_ideone-ruby-api.rb"
30
32
  ]
31
- s.homepage = %q{http://github.com/kennym/ideone-ruby-api}
33
+ s.homepage = "http://github.com/kennym/ideone-ruby-api"
32
34
  s.licenses = ["MIT"]
33
35
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.6.2}
35
- s.summary = %q{Ruby binding for Ideone API}
36
+ s.rubygems_version = "2.0.6"
37
+ s.summary = "Ruby binding for Ideone API"
36
38
 
37
39
  if s.respond_to? :specification_version then
38
- s.specification_version = 3
40
+ s.specification_version = 4
39
41
 
40
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
41
- s.add_runtime_dependency(%q<savon>, [">= 0"])
42
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
43
- s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
44
- s.add_development_dependency(%q<rcov>, [">= 0"])
43
+ s.add_runtime_dependency(%q<savon>, ["~> 2.3.3"])
44
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
45
45
  s.add_development_dependency(%q<test-unit>, ["~> 2.3"])
46
46
  else
47
- s.add_dependency(%q<savon>, [">= 0"])
48
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
49
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
50
- s.add_dependency(%q<rcov>, [">= 0"])
47
+ s.add_dependency(%q<savon>, ["~> 2.3.3"])
48
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
51
49
  s.add_dependency(%q<test-unit>, ["~> 2.3"])
52
50
  end
53
51
  else
54
- s.add_dependency(%q<savon>, [">= 0"])
55
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
56
- s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
57
- s.add_dependency(%q<rcov>, [">= 0"])
52
+ s.add_dependency(%q<savon>, ["~> 2.3.3"])
53
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
58
54
  s.add_dependency(%q<test-unit>, ["~> 2.3"])
59
55
  end
60
56
  end
@@ -14,12 +14,9 @@ class Ideone
14
14
  @username = username
15
15
  @password = password
16
16
 
17
- @client = Savon::Client.new do
18
- wsdl.document = "http://ideone.com/api/1/service.wsdl"
19
- end
17
+ @client = Savon.client(wsdl: "http://ideone.com/api/1/service.wsdl")
20
18
 
21
19
  HTTPI.log = false
22
- disable_savon_logging()
23
20
 
24
21
  @request_body = {
25
22
  :user => @username,
@@ -36,7 +33,7 @@ class Ideone
36
33
  request_body[:input] = std_input
37
34
  request_body[:run] = run
38
35
  request_body[:private] = is_private
39
- response = @client.request :createSubmission, :body => @request_body
36
+ response = @client.call(:create_submission, :message => @request_body)
40
37
 
41
38
  check_error(response, :create_submission_response)
42
39
  return response.to_hash[:create_submission_response][:return][:item][1][:value]
@@ -45,7 +42,7 @@ class Ideone
45
42
  def submission_status(link)
46
43
  request_body = @request_body
47
44
  request_body[:link] = link
48
- response = @client.request :getSubmissionStatus, :body => request_body
45
+ response = @client.call(:get_submission_status, :message => request_body)
49
46
 
50
47
  check_error(response, :get_submission_status_response)
51
48
 
@@ -73,7 +70,7 @@ class Ideone
73
70
  request_body[:withStderr] = with_stderr
74
71
  request_body[:withCmpinfo] = with_cmpinfo
75
72
 
76
- response = @client.request :getSubmissionDetails, :body => request_body
73
+ response = @client.call(:get_submission_details, :message => request_body)
77
74
 
78
75
  check_error(response, :get_submission_details_response)
79
76
 
@@ -85,7 +82,7 @@ class Ideone
85
82
  # Get a list of supported languages and cache it.
86
83
  def languages
87
84
  unless @languages_cache
88
- response = @client.request :getLanguages, :body => @request_body
85
+ response = @client.call(:get_languages, :message => @request_body)
89
86
 
90
87
  check_error(response, :get_languages_response)
91
88
 
@@ -98,7 +95,7 @@ class Ideone
98
95
 
99
96
  # A test function that always returns the same thing.
100
97
  def test
101
- response = @client.request :testFunction, :body => @request_body
98
+ response = @client.call(:test_function, :message => @request_body)
102
99
 
103
100
  check_error(response, :test_function_response)
104
101
 
@@ -108,12 +105,6 @@ class Ideone
108
105
 
109
106
  private
110
107
 
111
- def disable_savon_logging
112
- Savon.configure do |config|
113
- config.log = false
114
- end
115
- end
116
-
117
108
  def check_error(response, function_response)
118
109
  error = get_error(response.to_hash, function_response)
119
110
  if error != 'OK'
@@ -135,13 +126,11 @@ class Ideone
135
126
  items.each do |item|
136
127
  key = item[:key]
137
128
  value = item[:value]
138
- if value == {:"@xsi:type"=>"xsd:string"}
139
- value = ""
140
- end
129
+ value = "" if value == {:"@xsi:type"=>"xsd:string"}
141
130
  dict[key] = value
142
131
  end
143
132
 
144
- dict
133
+ dict
145
134
  end
146
135
 
147
136
  end
@@ -0,0 +1,9 @@
1
+ class Ideone
2
+ module Version
3
+ MAJOR = 2
4
+ MINOR = 0
5
+ PATCH = 0
6
+
7
+ STRING = [MAJOR, MINOR, PATCH].compact.join('.')
8
+ end
9
+ end
@@ -1,7 +1,7 @@
1
1
  require 'helper'
2
2
 
3
- USER = '' # YOUR IDEONE USER
4
- PASS = '' # YOUR IDEONE PASSWORD
3
+ USER = 'humpydumpy' # YOUR IDEONE USER
4
+ PASS = 'testing' # YOUR IDEONE PASSWORD
5
5
 
6
6
  class TestIdeoneRubyApi < Test::Unit::TestCase
7
7
  def test_initialize
@@ -59,7 +59,7 @@ puts "This is a test submission created from ideone-ruby-api. https://github.com
59
59
 
60
60
  instance = Ideone.new(USER, PASS)
61
61
 
62
- result = instance.submission_status("nDRJO")
62
+ result = instance.submission_status("PD2kqM")
63
63
 
64
64
  assert_not_nil result
65
65
  assert_not_nil result[:status]
@@ -71,7 +71,7 @@ puts "This is a test submission created from ideone-ruby-api. https://github.com
71
71
 
72
72
  instance = Ideone.new(USER, PASS)
73
73
 
74
- result = instance.submission_details("nDRJO")
74
+ result = instance.submission_details("PD2kqM")
75
75
 
76
76
  assert result.count == 16
77
77
  assert_not_nil result
metadata CHANGED
@@ -1,74 +1,59 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ideone-ruby-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
5
- prerelease:
4
+ version: 2.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kenny Meyer
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-08-12 00:00:00.000000000 -04:00
13
- default_executable:
11
+ date: 2014-02-20 00:00:00.000000000 Z
14
12
  dependencies:
15
13
  - !ruby/object:Gem::Dependency
16
14
  name: savon
17
- requirement: &12809300 !ruby/object:Gem::Requirement
18
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
19
16
  requirements:
20
- - - ! '>='
17
+ - - ~>
21
18
  - !ruby/object:Gem::Version
22
- version: '0'
19
+ version: 2.3.3
23
20
  type: :runtime
24
21
  prerelease: false
25
- version_requirements: *12809300
26
- - !ruby/object:Gem::Dependency
27
- name: bundler
28
- requirement: &12808540 !ruby/object:Gem::Requirement
29
- none: false
22
+ version_requirements: !ruby/object:Gem::Requirement
30
23
  requirements:
31
24
  - - ~>
32
25
  - !ruby/object:Gem::Version
33
- version: 1.0.0
34
- type: :development
35
- prerelease: false
36
- version_requirements: *12808540
26
+ version: 2.3.3
37
27
  - !ruby/object:Gem::Dependency
38
28
  name: jeweler
39
- requirement: &12807820 !ruby/object:Gem::Requirement
40
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
41
30
  requirements:
42
31
  - - ~>
43
32
  - !ruby/object:Gem::Version
44
- version: 1.6.4
33
+ version: 2.0.1
45
34
  type: :development
46
35
  prerelease: false
47
- version_requirements: *12807820
48
- - !ruby/object:Gem::Dependency
49
- name: rcov
50
- requirement: &12806860 !ruby/object:Gem::Requirement
51
- none: false
36
+ version_requirements: !ruby/object:Gem::Requirement
52
37
  requirements:
53
- - - ! '>='
38
+ - - ~>
54
39
  - !ruby/object:Gem::Version
55
- version: '0'
56
- type: :development
57
- prerelease: false
58
- version_requirements: *12806860
40
+ version: 2.0.1
59
41
  - !ruby/object:Gem::Dependency
60
42
  name: test-unit
61
- requirement: &12806080 !ruby/object:Gem::Requirement
62
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
63
44
  requirements:
64
45
  - - ~>
65
46
  - !ruby/object:Gem::Version
66
47
  version: '2.3'
67
48
  type: :development
68
49
  prerelease: false
69
- version_requirements: *12806080
70
- description: ! 'A better Ruby binding for the Ideone API '
71
- email: knny.myer@gmail.com
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '2.3'
55
+ description: 'A better Ruby binding for the Ideone API '
56
+ email: kenny@kennymeyer.net
72
57
  executables: []
73
58
  extensions: []
74
59
  extra_rdoc_files:
@@ -76,6 +61,7 @@ extra_rdoc_files:
76
61
  - README.rdoc
77
62
  files:
78
63
  - .document
64
+ - .travis.yml
79
65
  - Gemfile
80
66
  - LICENSE.txt
81
67
  - README.rdoc
@@ -83,35 +69,31 @@ files:
83
69
  - VERSION
84
70
  - ideone-ruby-api.gemspec
85
71
  - lib/ideone.rb
72
+ - lib/ideone/version.rb
86
73
  - test/helper.rb
87
74
  - test/test_ideone-ruby-api.rb
88
- has_rdoc: true
89
75
  homepage: http://github.com/kennym/ideone-ruby-api
90
76
  licenses:
91
77
  - MIT
78
+ metadata: {}
92
79
  post_install_message:
93
80
  rdoc_options: []
94
81
  require_paths:
95
82
  - lib
96
83
  required_ruby_version: !ruby/object:Gem::Requirement
97
- none: false
98
84
  requirements:
99
- - - ! '>='
85
+ - - '>='
100
86
  - !ruby/object:Gem::Version
101
87
  version: '0'
102
- segments:
103
- - 0
104
- hash: 1839144466019397061
105
88
  required_rubygems_version: !ruby/object:Gem::Requirement
106
- none: false
107
89
  requirements:
108
- - - ! '>='
90
+ - - '>='
109
91
  - !ruby/object:Gem::Version
110
92
  version: '0'
111
93
  requirements: []
112
94
  rubyforge_project:
113
- rubygems_version: 1.6.2
95
+ rubygems_version: 2.0.6
114
96
  signing_key:
115
- specification_version: 3
97
+ specification_version: 4
116
98
  summary: Ruby binding for Ideone API
117
99
  test_files: []