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.
- checksums.yaml +7 -0
- data/.travis.yml +5 -0
- data/Gemfile +2 -4
- data/README.rdoc +3 -1
- data/Rakefile +4 -10
- data/VERSION +1 -1
- data/ideone-ruby-api.gemspec +17 -21
- data/lib/ideone.rb +8 -19
- data/lib/ideone/version.rb +9 -0
- data/test/test_ideone-ruby-api.rb +4 -4
- metadata +27 -45
checksums.yaml
ADDED
@@ -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
|
data/.travis.yml
ADDED
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
|
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 "
|
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
|
data/README.rdoc
CHANGED
@@ -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 = "
|
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 '
|
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
|
+
2.0.0
|
data/ideone-ruby-api.gemspec
CHANGED
@@ -4,20 +4,21 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "
|
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 =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
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 =
|
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 =
|
35
|
-
s.summary =
|
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 =
|
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>, ["
|
42
|
-
s.add_development_dependency(%q<
|
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>, ["
|
48
|
-
s.add_dependency(%q<
|
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>, ["
|
55
|
-
s.add_dependency(%q<
|
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
|
data/lib/ideone.rb
CHANGED
@@ -14,12 +14,9 @@ class Ideone
|
|
14
14
|
@username = username
|
15
15
|
@password = password
|
16
16
|
|
17
|
-
@client = Savon
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
|
-
|
133
|
+
dict
|
145
134
|
end
|
146
135
|
|
147
136
|
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("
|
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("
|
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:
|
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:
|
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:
|
18
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
19
16
|
requirements:
|
20
|
-
- -
|
17
|
+
- - ~>
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: 2.3.3
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
|
-
version_requirements:
|
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:
|
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:
|
40
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
41
30
|
requirements:
|
42
31
|
- - ~>
|
43
32
|
- !ruby/object:Gem::Version
|
44
|
-
version:
|
33
|
+
version: 2.0.1
|
45
34
|
type: :development
|
46
35
|
prerelease: false
|
47
|
-
version_requirements:
|
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:
|
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:
|
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:
|
70
|
-
|
71
|
-
|
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:
|
95
|
+
rubygems_version: 2.0.6
|
114
96
|
signing_key:
|
115
|
-
specification_version:
|
97
|
+
specification_version: 4
|
116
98
|
summary: Ruby binding for Ideone API
|
117
99
|
test_files: []
|