evalso 0.0.8 → 0.0.9

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,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: