litmus-reseller 0.0.2

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,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1040ff1b127f0ac7395be7d68f6a8e8f5cd11d5e
4
+ data.tar.gz: d230ac21cf7d7b3bae7d9f56aa37353dbd51570e
5
+ SHA512:
6
+ metadata.gz: eee90d58af2d456ed9609de17bb2ece2838be1a40224e57291ce1d664cf3d2fd1d6123387dc1ec988afb4161d5bfa2f1083c25e094375657a6b3d762c2fae918
7
+ data.tar.gz: 5f25922c29cea06ac1d0538ebf3740842f14bd3fbd0dcdf61af2a55fc13647a263c7ae4f89f8a4656d42586069864b9c66d38d8778aa9a7f6555ba3956336232
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in litmus-reseller.gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Damien Brzoska
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,118 @@
1
+ # Litmus::Reseller
2
+
3
+ Reseller Apis are only for use with a reseller account. They do not work with a regular Litmus account.
4
+
5
+ ## Installation
6
+
7
+ To get started, add 'listmus-reseller' to your `Gemfile`, run `bundle install`, and run the generator:
8
+
9
+ ```ruby
10
+ rails generate litmus_reseller:install
11
+ ```
12
+
13
+ The generator will create an initializer to allow configuration
14
+
15
+ ## Configuration
16
+
17
+ Override any of these defaults in `config/initializers/litmus-reseller.rb`:
18
+
19
+ ```ruby
20
+ LitmusReseller.configure do |config|
21
+ config.username = nil
22
+ config.password = nil
23
+ end
24
+ ```
25
+
26
+ ## Usage
27
+
28
+ ### Create a test
29
+
30
+ Create an EmailTest and get a result back:
31
+
32
+ ```ruby
33
+ # All applications
34
+ response = LitmusReseller::EmailTest.create([])
35
+ # Custom applications
36
+ response = LitmusReseller::EmailTest.create(['ol2010', 'iphone5s'])
37
+ # Custom guid
38
+ response = LitmusReseller::EmailTest.create([], 'custom-guid')
39
+ ```
40
+
41
+ The response will look like this:
42
+
43
+ ```ruby
44
+ { "TestingApplications" :
45
+ [
46
+ {
47
+ "ApplicationLongName" : "Outlook 2010",
48
+ "ApplicationName" : "ol2010",
49
+ "AverageTimeToProcess" : 0,
50
+ "BusinessOrPopular" : true,
51
+ "Completed" : null,
52
+ "DesktopClient" : true,
53
+ "FoundInSpam" : null,
54
+ "FullpageImage" : null,
55
+ "FullpageImageContentBlocking" : null,
56
+ "FullpageImageNoContentBlocking" : null,
57
+ "FullpageImageThumb" : null,
58
+ "FullpageImageThumbContentBlocking" : null,
59
+ "FullpageImageThumbNoContentBlocking" : null,
60
+ "Id" : 0,
61
+ "PlatformLongName" : "",
62
+ "PlatformName" : "",
63
+ "RenderedHtmlUrl" : null,
64
+ "ResultType" : 0,
65
+ "SpamHeaders" : null,
66
+ "SpamScore" : 0,
67
+ "State" : null,
68
+ "Status" : 0,
69
+ "SupportsContentBlocking" : false,
70
+ "SupportsSpamScoring" : null,
71
+ "WindowImage" : null,
72
+ "WindowImageContentBlocking" : null,
73
+ "WindowImageNoContentBlocking" : null,
74
+ "WindowImageThumb" : null,
75
+ "WindowImageThumbContentBlocking" : null,
76
+ "WindowImageThumbNoContentBlocking" : null
77
+ },
78
+ {...}
79
+ ],
80
+ "State" : "waiting",
81
+ "InboxGuid" : "test12345",
82
+ "Id" : 19498721,
83
+ "Source" : "https://s3.amazonaws.com/sitevista/",
84
+ "Subject" : "",
85
+ "Html" : "https://html.litmus.com/email/?url=/sitevista/",
86
+ "ZipFile" : "http://zip.litmus.com/resellers/?guid=e03c3e66-ba5b-4ed5-916a-c58c2b763d40",
87
+ "TestType" : 0,
88
+ "Sandbox" : false,
89
+ "UserGuid" : nil,
90
+ "Error" : false,
91
+ "ErrorMessage" : nil
92
+ }
93
+ ```
94
+
95
+ Send your email to a unique email address you get from the `emai_test`:
96
+
97
+ ```ruby
98
+ to_address = "#{response["InboxGuid"]@emailtests.com}"
99
+ mail(to: to_address, subject: "Subject line")
100
+ ```
101
+
102
+ Poll the api periodically to see if your previews are complete
103
+
104
+ ```ruby
105
+ results = LitmusReseller::Result.show(response["id"])
106
+ while results["status"] != "complete" do
107
+ results = LitmusReseller::Result.show(response["id"])
108
+ wait 60
109
+ end
110
+ ```
111
+
112
+ ## Contributing
113
+
114
+ 1. Fork it ( https://github.com/[my-github-username]/litmus-reseller/fork )
115
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
116
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
117
+ 4. Push to the branch (`git push origin my-new-feature`)
118
+ 5. Create a new Pull Request
@@ -0,0 +1,3 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ Dir.glob('tasks/**/*.rake').each(&method(:import))
@@ -0,0 +1,15 @@
1
+ require 'rails/generators/base'
2
+ require 'rails/generators/active_record'
3
+
4
+ module LitmusReseller
5
+ module Generators
6
+ class InstallGenerator < Rails::Generators::Base
7
+ desc "Generate initializers file"
8
+ source_root File.expand_path('../templates', __FILE__)
9
+
10
+ def create_litmus_reseller_initializer
11
+ copy_file 'litmus-reseller.rb', 'config/initializers/litmus-reseller.rb'
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,4 @@
1
+ LitmusReseller.configure do |config|
2
+ config.username = "YOUR_USERNAME"
3
+ config.password = "YOUR_PASSWORD"
4
+ end
@@ -0,0 +1,9 @@
1
+ require 'httparty'
2
+ require "litmus-reseller/version"
3
+ require "litmus-reseller/configuration"
4
+ require "litmus-reseller/email_test"
5
+ require "litmus-reseller/result"
6
+
7
+ module LitmusReseller
8
+ require 'litmus-reseller/engine' if defined?(Rails)
9
+ end
@@ -0,0 +1,19 @@
1
+ module LitmusReseller
2
+ class << self
3
+ attr_accessor :configuration
4
+ end
5
+
6
+ def self.configure
7
+ self.configuration ||= Configuration.new
8
+ yield(configuration)
9
+ end
10
+
11
+ class Configuration
12
+ attr_accessor :username, :password
13
+
14
+ def initialize
15
+ @username = nil
16
+ @password = nil
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ module LitmusReseller
2
+ class EmailTest
3
+ include HTTParty
4
+ base_uri "https://previews-api.litmus.com"
5
+
6
+ def self.create(applications = [], guid = nil)
7
+ raise "Missing configuration" unless LitmusReseller.configuration.username && LitmusReseller.configuration.password
8
+
9
+ basic_auth(LitmusReseller.configuration.username, LitmusReseller.configuration.password)
10
+ response = post('/api/v1/EmailTests', body: build_params(applications, guid), headers: { "Content-type" => "application/json" })
11
+ JSON.parse(response.body)
12
+ end
13
+
14
+ private
15
+
16
+ def self.build_params(applications, guid)
17
+ testing_applications = { "TestingApplications" => []}
18
+ applications.each { |app| testing_applications["TestingApplications"] << { "ApplicationName" => app } }
19
+ testing_applications["UserGuid"] = guid if guid
20
+ testing_applications.to_json
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,6 @@
1
+ require 'rails'
2
+
3
+ module LitmusReseller
4
+ class Engine < Rails::Engine
5
+ end
6
+ end
@@ -0,0 +1,14 @@
1
+ module LitmusReseller
2
+ class Result
3
+ include HTTParty
4
+ base_uri "https://previews-api.litmus.com"
5
+
6
+ def self.show(id)
7
+ raise "Missing configuration" unless LitmusReseller.configuration.username && LitmusReseller.configuration.password
8
+
9
+ basic_auth(LitmusReseller.configuration.username, LitmusReseller.configuration.password)
10
+ response = get("/api/v1/EmailTests/#{id}", headers: { "Content-type" => "application/json" })
11
+ JSON.parse(response.body)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ module LitmusReseller
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'litmus-reseller/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "litmus-reseller"
8
+ spec.version = LitmusReseller::VERSION
9
+ spec.authors = ["Damien Brzoska"]
10
+ spec.email = ["damien.brz@gmail.com"]
11
+ spec.description = "A simple wrapper around the Litmus reseller API."
12
+ spec.summary = ""
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "httparty"
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.7"
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "webmock"
27
+ end
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ describe LitmusReseller::Configuration do
4
+ after { restore_default_config }
5
+
6
+ describe "when a username" do
7
+ context "is specified" do
8
+ before do
9
+ LitmusReseller.configure do |config|
10
+ config.username = 'damienbrz'
11
+ end
12
+ end
13
+
14
+ it "should use the new username" do
15
+ expect(LitmusReseller.configuration.username).to eq 'damienbrz'
16
+ end
17
+ end
18
+ end
19
+
20
+ describe "when a password" do
21
+ context "is specified" do
22
+ before do
23
+ LitmusReseller.configure do |config|
24
+ config.password = 'T3st12&34'
25
+ end
26
+ end
27
+
28
+ it "should use the new password" do
29
+ expect(LitmusReseller.configuration.password).to eq 'T3st12&34'
30
+ end
31
+ end
32
+ end
33
+
34
+ describe "default configuration" do
35
+ it "should use default values" do
36
+ expect(LitmusReseller.configuration.username).to be_nil
37
+ expect(LitmusReseller.configuration.password).to be_nil
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe LitmusReseller::EmailTest do
4
+ after { restore_default_config }
5
+
6
+ describe "when configuration (username and password) is set" do
7
+ before do
8
+ LitmusReseller.configure do |config|
9
+ config.username = 'username'
10
+ config.password = 'password'
11
+ end
12
+ end
13
+
14
+ context "without params" do
15
+ it "should return the email address InboxGuid@emailtests.com" do
16
+ response = LitmusReseller::EmailTest.create()
17
+ expect(response["InboxGuid"]).to eq("test12345")
18
+ end
19
+ end
20
+
21
+ context "with applications" do
22
+ it "should return the email address InboxGuid@emailtests.com" do
23
+ response = LitmusReseller::EmailTest.create(['ol2010'])
24
+ expect(response["InboxGuid"]).to eq("test12345")
25
+ end
26
+ end
27
+
28
+ context "with guid" do
29
+ it "should return the email address InboxGuid@emailtests.com" do
30
+ response = LitmusReseller::EmailTest.create([], "custom-guid")
31
+ expect(response["InboxGuid"]).to eq("custom-guid")
32
+ end
33
+ end
34
+ end
35
+
36
+ describe "when configuration (username and password) is not set" do
37
+ context "username missing" do
38
+ before do
39
+ LitmusReseller.configure do |config|
40
+ config.password = 'password'
41
+ end
42
+ end
43
+
44
+ it "should raise an error" do
45
+ expect { LitmusReseller::EmailTest.create() }.to raise_error(RuntimeError, "Missing configuration")
46
+ end
47
+ end
48
+
49
+ context "password missing" do
50
+ LitmusReseller.configure do |config|
51
+ config.username = 'damienbrz'
52
+ end
53
+
54
+ it "should raise an error" do
55
+ expect { LitmusReseller::EmailTest.create() }.to raise_error(RuntimeError, "Missing configuration")
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,18 @@
1
+ # results = LitmusReseller::Results.get(email_test.guid)
2
+ require 'spec_helper'
3
+
4
+ describe LitmusReseller::Result do
5
+ after { restore_default_config }
6
+
7
+ before do
8
+ LitmusReseller.configure do |config|
9
+ config.username = 'username'
10
+ config.password = 'password'
11
+ end
12
+ end
13
+
14
+ it "should return with an array of TestingApplications" do
15
+ response = LitmusReseller::Result.show(19498721)
16
+ expect(response["State"]).to eq("completed")
17
+ end
18
+ end
@@ -0,0 +1,39 @@
1
+ require 'litmus-reseller'
2
+ require 'webmock/rspec'
3
+
4
+ def restore_default_config
5
+ LitmusReseller.configuration = nil
6
+ LitmusReseller.configure {}
7
+ end
8
+
9
+ WebMock.disable_net_connect!(allow_localhost: true)
10
+
11
+ RSpec.configure do |config|
12
+ config.before(:each) do
13
+
14
+ valid_post_response = "{\"TestingApplications\":[{\"State\":\"pending\",\"WindowImageContentBlocking\":\"s3.amazonaws.com\",\"FullpageImageThumb\":\"s3.amazonaws.com\",\"BusinessOrPopular\":true,\"WindowImageThumbNoContentBlocking\":\"s3.amazonaws.com\",\"Completed\":false,\"FullpageImage\":\"s3.amazonaws.com\",\"FoundInSpam\":false,\"SupportsSpamScoring\":null,\"Status\":0,\"WindowImageNoContentBlocking\":\"s3.amazonaws.com\",\"PlatformName\":\"Windows\",\"AverageTimeToProcess\":489,\"SpamHeaders\":[],\"WindowImageThumb\":\"s3.amazonaws.com\",\"RenderedHtmlUrl\":null,\"PlatformLongName\":\"Microsoft Windows\",\"FullpageImageThumbContentBlocking\":\"s3.amazonaws.com\",\"WindowImage\":\"s3.amazonaws.com\",\"FullpageImageContentBlocking\":\"s3.amazonaws.com\",\"SupportsContentBlocking\":true,\"ApplicationName\":\"OL2010\",\"FullpageImageThumbNoContentBlocking\":\"s3.amazonaws.com\",\"SpamScore\":0.0,\"DesktopClient\":true,\"WindowImageThumbContentBlocking\":\"s3.amazonaws.com\",\"Id\":560265637,\"ResultType\":0,\"FullpageImageNoContentBlocking\":\"s3.amazonaws.com\",\"ApplicationLongName\":\"Outlook 2010\"}],\"State\":\"waiting\",\"InboxGuid\":\"test12345\",\"Id\":19498721,\"Source\":\"https://s3.amazonaws.com/sitevista/\",\"Subject\":\"\",\"Html\":\"https://html.litmus.com/email/?url=/sitevista/\",\"ZipFile\":\"http://zip.litmus.com/resellers/?guid=e03c3e66-ba5b-4ed5-916a-c58c2b763d40\",\"TestType\":0,\"Sandbox\":false,\"UserGuid\":null,\"Error\":false,\"ErrorMessage\":null}"
15
+
16
+ custom_response = "{\"InboxGuid\":\"custom-guid\"}"
17
+
18
+ valid_get_response = "{\"TestingApplications\":[{\"State\":\"completed\",\"WindowImageContentBlocking\":\"s3.amazonaws.com\",\"FullpageImageThumb\":\"s3.amazonaws.com\",\"BusinessOrPopular\":true,\"WindowImageThumbNoContentBlocking\":\"s3.amazonaws.com\",\"Completed\":false,\"FullpageImage\":\"s3.amazonaws.com\",\"FoundInSpam\":false,\"SupportsSpamScoring\":null,\"Status\":0,\"WindowImageNoContentBlocking\":\"s3.amazonaws.com\",\"PlatformName\":\"Windows\",\"AverageTimeToProcess\":489,\"SpamHeaders\":[],\"WindowImageThumb\":\"s3.amazonaws.com\",\"RenderedHtmlUrl\":null,\"PlatformLongName\":\"Microsoft Windows\",\"FullpageImageThumbContentBlocking\":\"s3.amazonaws.com\",\"WindowImage\":\"s3.amazonaws.com\",\"FullpageImageContentBlocking\":\"s3.amazonaws.com\",\"SupportsContentBlocking\":true,\"ApplicationName\":\"OL2010\",\"FullpageImageThumbNoContentBlocking\":\"s3.amazonaws.com\",\"SpamScore\":0.0,\"DesktopClient\":true,\"WindowImageThumbContentBlocking\":\"s3.amazonaws.com\",\"Id\":560265637,\"ResultType\":0,\"FullpageImageNoContentBlocking\":\"s3.amazonaws.com\",\"ApplicationLongName\":\"Outlook 2010\"}],\"State\":\"completed\",\"InboxGuid\":\"test12345\",\"Id\":19498721,\"Source\":\"https://s3.amazonaws.com/sitevista/\",\"Subject\":\"\",\"Html\":\"https://html.litmus.com/email/?url=/sitevista/\",\"ZipFile\":\"http://zip.litmus.com/resellers/?guid=e03c3e66-ba5b-4ed5-916a-c58c2b763d40\",\"TestType\":0,\"Sandbox\":false,\"UserGuid\":null,\"Error\":false,\"ErrorMessage\":null}"
19
+
20
+ stub_request(:post, "https://username:password@previews-api.litmus.com/api/v1/EmailTests").
21
+ with(:body => "{\"TestingApplications\":[]}",
22
+ :headers => {'Content-Type'=>'application/json'}).
23
+ to_return(:status => 200, :body => valid_post_response, :headers => {})
24
+
25
+ stub_request(:post, "https://username:password@previews-api.litmus.com/api/v1/EmailTests").
26
+ with(:body => "{\"TestingApplications\":[{\"ApplicationName\":\"ol2010\"}]}",
27
+ :headers => {'Content-Type'=>'application/json'}).
28
+ to_return(:status => 200, :body => valid_post_response, :headers => {})
29
+
30
+ stub_request(:post, "https://username:password@previews-api.litmus.com/api/v1/EmailTests").
31
+ with(:body => "{\"TestingApplications\":[],\"UserGuid\":\"custom-guid\"}",
32
+ :headers => {'Content-Type'=>'application/json'}).
33
+ to_return(:status => 200, :body => custom_response, :headers => {})
34
+
35
+ stub_request(:get, "https://username:password@previews-api.litmus.com/api/v1/EmailTests/19498721").
36
+ with(:body => "", :headers => {'Content-Type'=>'application/json'}).
37
+ to_return(:status => 200, :body => valid_get_response, :headers => {})
38
+ end
39
+ end
@@ -0,0 +1,3 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ RSpec::Core::RakeTask.new(:spec)
metadata ADDED
@@ -0,0 +1,137 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: litmus-reseller
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Damien Brzoska
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: A simple wrapper around the Litmus reseller API.
84
+ email:
85
+ - damien.brz@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - Gemfile
92
+ - LICENSE.txt
93
+ - README.md
94
+ - Rakefile
95
+ - lib/generators/litmus_reseller/install_generator.rb
96
+ - lib/generators/litmus_reseller/templates/litmus-reseller.rb
97
+ - lib/litmus-reseller.rb
98
+ - lib/litmus-reseller/configuration.rb
99
+ - lib/litmus-reseller/email_test.rb
100
+ - lib/litmus-reseller/engine.rb
101
+ - lib/litmus-reseller/result.rb
102
+ - lib/litmus-reseller/version.rb
103
+ - litmus-reseller.gemspec
104
+ - spec/configuration_spec.rb
105
+ - spec/email_test_spec.rb
106
+ - spec/result_spec.rb
107
+ - spec/spec_helper.rb
108
+ - tasks/rspec.rake
109
+ homepage: ''
110
+ licenses:
111
+ - MIT
112
+ metadata: {}
113
+ post_install_message:
114
+ rdoc_options: []
115
+ require_paths:
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ requirements: []
128
+ rubyforge_project:
129
+ rubygems_version: 2.2.2
130
+ signing_key:
131
+ specification_version: 4
132
+ summary: ''
133
+ test_files:
134
+ - spec/configuration_spec.rb
135
+ - spec/email_test_spec.rb
136
+ - spec/result_spec.rb
137
+ - spec/spec_helper.rb