evalso 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,21 @@
1
+ class Evalso
2
+ class Language
3
+ attr_reader :id, :name
4
+
5
+ def initialize(id, hash)
6
+ @hash = hash
7
+ @id = id
8
+
9
+ @name = hash['display_name']
10
+ end
11
+
12
+ def run(hash)
13
+ hash.merge!({ :language => id })
14
+ Evalso.run(hash)
15
+ end
16
+
17
+ def inspect
18
+ %[#<#{self.class.name} name=#{name.inspect} id=#{id.inspect}>]
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ require 'evalso/language'
2
+
3
+ class Evalso
4
+ module Languages
5
+ class << self
6
+ def languages
7
+ raw = HTTParty.get(Evalso.base_uri + 'languages').body
8
+ parse(JSON.parse(raw))
9
+ end
10
+
11
+ def parse(hash)
12
+ hash.keys.each do |k|
13
+ hash[k] = Language.new(k, hash[k])
14
+ end
15
+
16
+ hash
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  class Evalso
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
data/lib/evalso.rb CHANGED
@@ -3,6 +3,8 @@ require "httparty"
3
3
  require "json"
4
4
  require "base64"
5
5
 
6
+ require 'evalso/languages'
7
+
6
8
  # TODO: Handle auth, once eval.so supports it.
7
9
 
8
10
  # Current API docs: http://eval.so/api/1
@@ -26,8 +28,7 @@ class Evalso
26
28
  end
27
29
 
28
30
  def self.languages
29
- raw = HTTParty.get(base_uri + 'languages').body
30
- JSON.parse(raw)
31
+ Evalso::Languages.languages
31
32
  end
32
33
 
33
34
  class Request
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evalso
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-10 00:00:00.000000000 Z
12
+ date: 2013-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &7671860 !ruby/object:Gem::Requirement
16
+ requirement: &8643760 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *7671860
24
+ version_requirements: *8643760
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &7671360 !ruby/object:Gem::Requirement
27
+ requirement: &8643260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.3'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *7671360
35
+ version_requirements: *8643260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &7670940 !ruby/object:Gem::Requirement
38
+ requirement: &8642840 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *7670940
46
+ version_requirements: *8642840
47
47
  description: Evaluates code safely, via http://eval.so
48
48
  email:
49
49
  - nick@duckinator.net
@@ -58,6 +58,8 @@ files:
58
58
  - Rakefile
59
59
  - evalso.gemspec
60
60
  - lib/evalso.rb
61
+ - lib/evalso/language.rb
62
+ - lib/evalso/languages.rb
61
63
  - lib/evalso/version.rb
62
64
  homepage: http://github.com/duckinator/ruby-evalso
63
65
  licenses: