Skip to content

Commit 7c637bc

Browse files
committed
First attempt at client
1 parent 0a69e80 commit 7c637bc

File tree

4 files changed

+36
-4
lines changed

4 files changed

+36
-4
lines changed

Rakefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
#!/usr/bin/env rake
22
require "bundler/gem_tasks"
3+
4+
require 'rspec/core/rake_task'
5+
RSpec::Core::RakeTask.new(:spec)
6+
7+
task :test => :spec
8+
task :default => :spec

lib/plos.rb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
1+
require "plos/client"
12
require "plos/version"
2-
3-
module Plos
4-
# Your code goes here...
5-
end

lib/plos/client.rb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
require "rest_client"
2+
3+
module PLOS
4+
class Client
5+
attr_accessor :api_key
6+
attr_accessor :base_url
7+
8+
def initialize(api_key, base_url="http://api.plos.org")
9+
self.api_key = api_key
10+
self.base_url = base_url
11+
end
12+
13+
def search(query)
14+
execute( search_url, { :q => query } )
15+
end
16+
17+
def search_url
18+
"/search"
19+
end
20+
21+
def execute(url, params={})
22+
RestClient.post( "#{self.base_url}#{url}", { :api_key => self.api_key }.merge(params) )
23+
end
24+
end
25+
end

plos.gemspec

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ Gem::Specification.new do |gem|
88
gem.summary = %q{TODO: Write a gem summary}
99
gem.homepage = ""
1010

11+
gem.add_dependency('rest-client')
12+
gem.add_development_dependency('rake')
13+
gem.add_development_dependency('rspec')
14+
1115
gem.files = `git ls-files`.split($\)
1216
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
1317
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})

0 commit comments

Comments
 (0)