Skip to content

Commit

Permalink
Redirects API
Browse files Browse the repository at this point in the history
  • Loading branch information
karencwix committed Feb 21, 2015
1 parent a7ba6ce commit 9f258ba
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ A Ruby interface to the Wix Hive API.
* **[Insights API](#insights-api)**
* **[client.activities_summary](#clientactivities_summary)**
* **[client.contact_activities_summary](#clientcontact_activities_summary)**
* **[Redirects API](#insights-api)**
* **[client.redirects](#clientredirects)**
5. **[Contributing](#contributing)**
* **[Submitting an Issue](#submitting-an-issue)**
* **[Submitting a Pull Request](#submitting-a-pull-request)**
Expand Down Expand Up @@ -622,7 +624,17 @@ client.upsert_contact( phone: '123456789', email: 'alex@example.com' )
**Example:**
``` ruby
client.contact_activities_summary(CONTACT_ID)
```

### Redirects API

#### client.redirects

**Example:**
``` ruby
client.redirects
```

## Contributing

**Everyone** is encouraged to help **improve** this gem. Some of the ways you can contribute include:
Expand Down
7 changes: 7 additions & 0 deletions e2e/redirects_api_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require_relative './e2e_helper'

describe 'Redirects API' do
it '.redirects' do
expect(client.redirects).to be_a Hive::Redirects
end
end
19 changes: 19 additions & 0 deletions lib/hive/redirect.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
require 'hashie'

module Hive
class Redirect < Hashie::Trash
include Hashie::Extensions::IgnoreUndeclared

property :id
property :name
property :description
property :target
end

class Redirects < Hashie::Trash
include Hashie::Extensions::IgnoreUndeclared
include Hashie::Extensions::Coercion

coerce_key :redirects, Array[Redirect]
end
end
2 changes: 2 additions & 0 deletions lib/hive/rest/api.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
require 'hive/rest/contacts'
require 'hive/rest/activities'
require 'hive/rest/insights'
require 'hive/rest/redirects'

module Hive
module REST
module API
include Hive::REST::Contacts
include Hive::REST::Activities
include Hive::REST::Insights
include Hive::REST::Redirects
end
end
end
13 changes: 13 additions & 0 deletions lib/hive/rest/redirects.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
require 'hive/redirect'

module Hive
module REST
module Redirects
include Hive::Util

def redirects(query_options = {})
perform_with_object(:get, 'v1/redirects', Hive::Redirects, params: query_options)
end
end
end
end
12 changes: 12 additions & 0 deletions spec/hive/rest/redirects_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
require 'spec_helper'

describe Hive::REST::Redirects do

subject(:redirects) { (Class.new { include Hive::Util; include Hive::REST::Redirects }).new }

it '.redirects' do
expect(redirects).to receive(:perform_with_object).with(:get, 'v1/redirects', Hive::Redirects, params: {}).and_return(instance_double(Faraday::Response, body: 'mock'))
redirects.redirects
end

end

0 comments on commit 9f258ba

Please sign in to comment.