user_engage 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b28a4f60cd046d361e3b68dea4fff6d741d740a
4
- data.tar.gz: 5fe4a8fb47beeeea1ba1ef971901eb26c78151c6
3
+ metadata.gz: 18d99b1ccd39a659cb6733181ebf2ae75c6739e8
4
+ data.tar.gz: 04021ad99abf006227beebd175be14235e0861f7
5
5
  SHA512:
6
- metadata.gz: f16cdba1633b10b62c72460dcbcc53cb224227368406ae8eb65407177cbcb82446d4afad68b5c7e60707d5ccde927c87310d32364fd258c3b97784ae56a3f41d
7
- data.tar.gz: 3da93815f6947221a767205bb2698bb13aeacc8678d47a1e3f03a07d86cf0e7412bc63e56c240e486cac0e72f0c77a003b942138a117ea75993a7f226d514254
6
+ metadata.gz: 7f140559b269a4d0f20ee217eddfc9ea3551026f55f9f9634b6f20f1233c51ba276912cbc98b06cebc082ba7f8cbda03f7de22909eb3d2d330c2a6ae3e14fcd5
7
+ data.tar.gz: 369dcedfd288b570d2836faadac8caf1f1e3ca2d8033440095d5bf40609eac77eeee2ff7d651c3b664eeeef334194a6dbeaf824d31d2333daf4ed288691b6688
data/.gitignore CHANGED
@@ -7,5 +7,7 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
 
10
+ .env
11
+
10
12
  # rspec failure tracking
11
13
  .rspec_status
data/.rubocop.yml ADDED
@@ -0,0 +1,12 @@
1
+ Style/Documentation:
2
+ Enabled: false
3
+
4
+ Style/CommentedKeyword:
5
+ Enabled: false
6
+
7
+ Style/NumericLiterals:
8
+ Enabled: false
9
+
10
+ Metrics/BlockLength:
11
+ Exclude:
12
+ - 'spec/**/*'
data/.travis.yml CHANGED
@@ -2,4 +2,9 @@ sudo: false
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.4.2
5
- before_install: gem install bundler -v 1.16.1
5
+ before_install:
6
+ - gem install bundler -v 1.16.1
7
+ - bin/setup
8
+ script:
9
+ - bundle exec rubocop .
10
+ - bundle exec rake
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
4
 
5
5
  # Specify your gem's dependencies in user_engage.gemspec
6
6
  gemspec
data/Gemfile.lock CHANGED
@@ -1,12 +1,58 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- user_engage (0.0.1)
4
+ user_engage (0.0.2)
5
+ dry-struct (~> 0.4)
6
+ faraday (~> 0.14)
5
7
 
6
8
  GEM
7
9
  remote: https://rubygems.org/
8
10
  specs:
11
+ addressable (2.5.2)
12
+ public_suffix (>= 2.0.2, < 4.0)
13
+ ast (2.4.0)
14
+ concurrent-ruby (1.0.5)
15
+ crack (0.4.3)
16
+ safe_yaml (~> 1.0.0)
9
17
  diff-lcs (1.3)
18
+ dotenv (2.2.1)
19
+ dry-configurable (0.7.0)
20
+ concurrent-ruby (~> 1.0)
21
+ dry-container (0.6.0)
22
+ concurrent-ruby (~> 1.0)
23
+ dry-configurable (~> 0.1, >= 0.1.3)
24
+ dry-core (0.4.3)
25
+ concurrent-ruby (~> 1.0)
26
+ dry-equalizer (0.2.0)
27
+ dry-logic (0.4.2)
28
+ dry-container (~> 0.2, >= 0.2.6)
29
+ dry-core (~> 0.2)
30
+ dry-equalizer (~> 0.2)
31
+ dry-struct (0.4.0)
32
+ dry-core (~> 0.4, >= 0.4.1)
33
+ dry-equalizer (~> 0.2)
34
+ dry-types (~> 0.12, >= 0.12.2)
35
+ ice_nine (~> 0.11)
36
+ dry-types (0.12.2)
37
+ concurrent-ruby (~> 1.0)
38
+ dry-configurable (~> 0.1)
39
+ dry-container (~> 0.3)
40
+ dry-core (~> 0.2, >= 0.2.1)
41
+ dry-equalizer (~> 0.2)
42
+ dry-logic (~> 0.4, >= 0.4.2)
43
+ inflecto (~> 0.0.0, >= 0.0.2)
44
+ faraday (0.14.0)
45
+ multipart-post (>= 1.2, < 3)
46
+ hashdiff (0.3.7)
47
+ ice_nine (0.11.2)
48
+ inflecto (0.0.2)
49
+ multipart-post (2.0.0)
50
+ parallel (1.12.1)
51
+ parser (2.4.0.2)
52
+ ast (~> 2.3)
53
+ powerpack (0.1.1)
54
+ public_suffix (3.0.1)
55
+ rainbow (3.0.0)
10
56
  rake (10.5.0)
11
57
  rspec (3.7.0)
12
58
  rspec-core (~> 3.7.0)
@@ -21,15 +67,34 @@ GEM
21
67
  diff-lcs (>= 1.2.0, < 2.0)
22
68
  rspec-support (~> 3.7.0)
23
69
  rspec-support (3.7.1)
70
+ rubocop (0.52.1)
71
+ parallel (~> 1.10)
72
+ parser (>= 2.4.0.2, < 3.0)
73
+ powerpack (~> 0.1)
74
+ rainbow (>= 2.2.2, < 4.0)
75
+ ruby-progressbar (~> 1.7)
76
+ unicode-display_width (~> 1.0, >= 1.0.1)
77
+ ruby-progressbar (1.9.0)
78
+ safe_yaml (1.0.4)
79
+ unicode-display_width (1.3.0)
80
+ vcr (4.0.0)
81
+ webmock (3.3.0)
82
+ addressable (>= 2.3.6)
83
+ crack (>= 0.3.2)
84
+ hashdiff
24
85
 
25
86
  PLATFORMS
26
87
  ruby
27
88
 
28
89
  DEPENDENCIES
29
90
  bundler (~> 1.16)
91
+ dotenv (~> 2.2)
30
92
  rake (~> 10.0)
31
93
  rspec (~> 3.0)
94
+ rubocop (~> 0.52)
32
95
  user_engage!
96
+ vcr (~> 4.0)
97
+ webmock (~> 3.3)
33
98
 
34
99
  BUNDLED WITH
35
100
  1.16.1
File without changes
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # UserEngage - NOT READY YET!
1
+ # UserEngage - NOT READY YET! [![Build Status](https://travis-ci.org/CompanyMood/user_engage-ruby.svg?branch=master)](https://travis-ci.org/CompanyMood/user_engage-ruby)
2
2
 
3
3
  This gem implements the ruby bindings for https://userengage.com.
4
4
 
@@ -37,6 +37,10 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
37
37
 
38
38
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
39
39
 
40
+ ## Open ToDos
41
+
42
+ See [our open todo list](https://github.com/CompanyMood/user_engage-ruby/blob/master/TODO.md)
43
+
40
44
  ## Contributing
41
45
 
42
46
  Bug reports and pull requests are welcome on GitHub at https://github.com/CompanyMood/user_engage-ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
data/TODO.md ADDED
@@ -0,0 +1,129 @@
1
+ # Open ToDos:
2
+ ## Users
3
+ * [ ] Create user
4
+ * [ ] Update user
5
+ * [x] Find user by email
6
+ * [x] Find user by key
7
+ * [x] Find user by phone number
8
+ * [x] Find user by date
9
+ * [x] Delete user
10
+ * [ ] Filter users by custom attribute
11
+ * [ ] Get single user details
12
+ * [ ] Get all users details
13
+ * [ ] Get user segments
14
+ * [ ] Add tag
15
+ * [ ] Remove tag
16
+ * [ ] Add list
17
+ * [ ] Remove list
18
+ * [ ] Set attribute
19
+ * [ ] Set multiple attributes
20
+ * [ ] Remove attribute
21
+ * [ ] Get user ping hits
22
+ * [ ] Get user timeline
23
+ * [ ] Get user events
24
+ * [ ] Get user emails
25
+ ## Users - custom ID requests
26
+ * [ ] Update user
27
+ * [ ] Find user by ID
28
+ * [ ] Delete user
29
+ * [ ] Get single user details
30
+ * [ ] Get user segments
31
+ * [ ] Add tag
32
+ * [ ] Remove tag
33
+ * [ ] Add list
34
+ * [ ] Remove list
35
+ * [ ] Set attribute
36
+ * [ ] Set multiple attributes
37
+ * [ ] Remove attribute
38
+ * [ ] Get user ping hits
39
+ * [ ] Get user timeline
40
+ * [ ] Get user events
41
+ * [ ] Get user emails
42
+ ## CRM
43
+ * [ ] Create company
44
+ * [ ] Update company
45
+ * [ ] Delete company
46
+ * [ ] Get company
47
+ * [ ] Get all companies
48
+ * [ ] Set attribute
49
+ * [ ] Set multiple attributes
50
+ * [ ] Update company using company ID
51
+ * [ ] Delete company using company ID
52
+ * [ ] Get company using company ID
53
+ * [ ] Set attribute using company ID
54
+ * [ ] Set multiple attributes using company ID
55
+ * [ ] Create deal
56
+ * [ ] Update deal
57
+ * [ ] Get deal
58
+ * [ ] Get all deals
59
+ * [ ] Set attribute
60
+ * [ ] Set multiple attributes
61
+ * [ ] Create activity
62
+ * [ ] Update activity
63
+ * [ ] Get activity
64
+ * [ ] Get all activities
65
+ * [ ] Get all activity types
66
+ * [ ] Create pipeline
67
+ * [ ] Update pipeline
68
+ * [ ] Delete pipeline
69
+ * [ ] Get all pipelines
70
+ * [ ] Create stage
71
+ * [ ] Update stage
72
+ * [ ] Delete stage
73
+ * [ ] Get all stages
74
+ * [ ] Create deal loss reason
75
+ * [ ] Update deal loss reason
76
+ * [ ] Get deal loss reasons
77
+ ## Tags
78
+ * [ ] Create tag
79
+ * [ ] Update tag
80
+ * [ ] Delete tag
81
+ * [ ] Get all tags
82
+ ## Lists
83
+ * [ ] Create list
84
+ * [ ] Update list
85
+ * [ ] Delete list
86
+ * [ ] Get all lists
87
+ ## Attributes
88
+ * [ ] Create attribute
89
+ * [ ] Delete attribute
90
+ * [ ] Get single attribute
91
+ * [ ] Get all attributes
92
+ ##Events
93
+ * [ ] Create event
94
+ * [ ] Create event using user ID
95
+ * [ ] Get single event
96
+ * [ ] Get all events
97
+ ## Notes
98
+ * [ ] Create user note
99
+ * [ ] Update user note
100
+ * [ ] Get user notes
101
+ * [ ] Delete user note
102
+ * [ ] Create company note
103
+ * [ ] Update company note
104
+ * [ ] Get company notes
105
+ * [ ] Delete company note
106
+ * [ ] Create deal note
107
+ * [ ] Update deal note
108
+ * [ ] Get deal notes
109
+ * [ ] Delete deal note
110
+ ## Segments
111
+ * [ ] View segment users
112
+ * [ ] List all segments
113
+ ##Conversations
114
+ * [ ] Get single conversation
115
+ * [ ] Get single user conversations
116
+ * [ ] Get all conversations
117
+ * [ ] Create conversations
118
+ * [ ] Create message
119
+ * [ ] Attachments
120
+ * [ ] Webhooks
121
+ ## Emails
122
+ * [ ] Send an email
123
+ * [ ] Create email template
124
+ * [ ] Update email template
125
+ * [ ] Delete email template
126
+ * [ ] Get single email template
127
+ * [ ] Get all email templates
128
+ * [ ] Get single SMTP settings
129
+ * [ ] Get all SMTP settings
data/bin/console CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "user_engage"
3
+ require 'bundler/setup'
4
+ require 'user_engage'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
10
+ # require 'pry'
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start(__FILE__)
data/bin/setup CHANGED
@@ -4,5 +4,6 @@ IFS=$'\n\t'
4
4
  set -vx
5
5
 
6
6
  bundle install
7
+ echo "USERENGAGE_API_TOKEN='<your-api-key-here>'" > .env
7
8
 
8
- # Do any other automated setup that you need to do here
9
+ echo "Please replace USERENGAGE_API_TOKEN with your token in .env"
data/lib/user_engage.rb CHANGED
@@ -1,5 +1,6 @@
1
- require "user_engage/version"
2
- require "user_engage/configuration"
1
+ require 'user_engage/client'
2
+ require 'user_engage/configuration'
3
+ require 'user_engage/version'
3
4
 
4
5
  module UserEngage
5
6
  def self.configuration
@@ -9,4 +10,8 @@ module UserEngage
9
10
  def self.config
10
11
  yield(configuration)
11
12
  end
13
+
14
+ def self.client
15
+ Client.new(configuration)
16
+ end
12
17
  end
@@ -0,0 +1,14 @@
1
+ require 'user_engage/base_model'
2
+
3
+ module UserEngage
4
+ class Attribute < BaseModel
5
+ ################
6
+ ## Attributes ##
7
+ ################
8
+ attribute :description, Types::String
9
+ attribute :id, Types::Int
10
+ attribute :name_std, Types::String
11
+ attribute :name, Types::String
12
+ attribute :value, Types::Any
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ require 'dry-struct'
2
+
3
+ module UserEngage
4
+ class BaseModel < Dry::Struct
5
+ module Types
6
+ include Dry::Types.module
7
+ end
8
+
9
+ constructor_type :schema
10
+ end
11
+ end
@@ -1,12 +1,46 @@
1
+ require 'faraday'
2
+
1
3
  module UserEngage
2
4
  class Client
3
-
4
5
  ######################
5
6
  ## Instance methods ##
6
7
  ######################
8
+ def initialize(configuration)
9
+ @configuration = configuration
10
+ end
11
+
12
+ # Public: Calls the base_url with the given path and parameters
13
+ #
14
+ def get(path, parameters)
15
+ request(:get, path, parameters)
16
+ end
17
+
18
+ # Public: Calls the base_url with the given path and parameters
19
+ #
20
+ def delete(path)
21
+ request(:delete, path)
22
+ end
23
+
24
+ #####################
25
+ ## Private methods ##
26
+ #####################
27
+ private
28
+
29
+ def connection
30
+ Faraday.new(url: host)
31
+ end
32
+
33
+ def request(method, action_path, parameters = nil)
34
+ path = "api/public#{action_path}"
35
+ connection.public_send(method, path, parameters) do |request|
36
+ request.headers['Authorization'] = "Token #{@configuration.token}"
37
+ request.headers['Content-Type'] = 'application/json'
38
+ request.headers['User-Agent'] = "UserEngage-Ruby/#{UserEngage::VERSION}"
39
+ end
40
+ end
7
41
 
8
- def initialize(token)
9
- @token = token
42
+ def host
43
+ 'https://app.userengage.com/'.freeze
10
44
  end
11
45
  end
12
46
  end
@@ -0,0 +1,5 @@
1
+ module UserEngage
2
+ class InvalidFindAttributeException < StandardError; end
3
+ class ResourceNotFoundException < StandardError; end
4
+ class NotExistingResourceException < StandardError; end
5
+ end
@@ -0,0 +1,10 @@
1
+ require 'user_engage/base_model'
2
+
3
+ module UserEngage
4
+ class List < BaseModel
5
+ ################
6
+ ## Attributes ##
7
+ ################
8
+ attr_accessor :id, :name, :description
9
+ end
10
+ end
@@ -0,0 +1,30 @@
1
+ require 'user_engage/errors'
2
+
3
+ module UserEngage
4
+ module Operation
5
+ module Destroy
6
+ def destroy
7
+ destroy_resource
8
+ end
9
+
10
+ #####################
11
+ ## Private methods ##
12
+ #####################
13
+ private
14
+
15
+ def destroy_resource
16
+ path = "/#{self.class.resource_name}/#{id}/"
17
+ response = UserEngage.client.delete(path)
18
+ check_for_success!(response)
19
+ end
20
+
21
+ def check_for_success!(response)
22
+ return true if response.status == 204
23
+ raise(
24
+ UserEngage::NotExistingResourceException,
25
+ "No resource with ID: #{id} found!"
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,43 @@
1
+ require 'user_engage/errors'
2
+
3
+ module UserEngage
4
+ module Operation
5
+ module Find
6
+ def find(params = {})
7
+ check_for_unsupported_params!(params)
8
+ attributes = get_resource(params)
9
+ new(attributes)
10
+ end
11
+
12
+ #####################
13
+ ## Private methods ##
14
+ #####################
15
+ private
16
+
17
+ def get_resource(params)
18
+ path = "/#{resource_name}/search/"
19
+ response = UserEngage.client.get(path, params)
20
+ check_for_existing_resource!(response, params)
21
+ JSON.parse(response.body, symbolize_names: true)
22
+ end
23
+
24
+ def check_for_existing_resource!(response, params)
25
+ return if response.status == 200
26
+ raise(
27
+ UserEngage::ResourceNotFoundException,
28
+ "No resource with {#{params.inspect}} found!"
29
+ )
30
+ end
31
+
32
+ def check_for_unsupported_params!(params)
33
+ unsupported_params = params.keys - supported_find_params
34
+ return if unsupported_params.size.zero?
35
+
36
+ raise(
37
+ UserEngage::InvalidFindAttributeException,
38
+ "Unsupported parameter/s used: #{unsupported_params.join(', ')}"
39
+ )
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,10 @@
1
+ require 'user_engage/base_model'
2
+
3
+ module UserEngage
4
+ class Tag < BaseModel
5
+ ################
6
+ ## Attributes ##
7
+ ################
8
+ attr_accessor :id, :name
9
+ end
10
+ end
@@ -0,0 +1,69 @@
1
+ require 'user_engage/base_model'
2
+ require 'user_engage/operation/find'
3
+ require 'user_engage/operation/destroy'
4
+
5
+ require 'user_engage/attribute'
6
+ require 'user_engage/list'
7
+ require 'user_engage/tag'
8
+
9
+ module UserEngage
10
+ class User < BaseModel
11
+ ##############
12
+ ## Includes ##
13
+ ##############
14
+ extend Operation::Find
15
+ include Operation::Destroy
16
+
17
+ ################
18
+ ## Attributes ##
19
+ ################
20
+ attribute :attributes, Types::Array.of(UserEngage::Attribute)
21
+ attribute :browser, Types::String
22
+ attribute :browser_language, Types::String
23
+ attribute :chat_id, Types::Int
24
+ attribute :city, Types::String
25
+ attribute :country, Types::String
26
+ attribute :created_at, Types::DateTime
27
+ attribute :email, Types::String
28
+ attribute :facebook_url, Types::String
29
+ attribute :first_seen, Types::DateTime
30
+ attribute :gender, Types::String
31
+ attribute :google_url, Types::String
32
+ attribute :gravatar_url, Types::String
33
+ attribute :id, Types::Int
34
+ attribute :key, Types::String
35
+ attribute :last_contacted, Types::DateTime
36
+ attribute :last_ip, Types::String
37
+ attribute :last_seen, Types::DateTime
38
+ attribute :linkedin_url, Types::String
39
+ attribute :lists, Types::Array.of(UserEngage::List)
40
+ attribute :name, Types::String
41
+ attribute :notifications, Types::Bool
42
+ attribute :os_type, Types::String
43
+ attribute :page_views, Types::Int
44
+ attribute :phone_number, Types::String
45
+ attribute :region, Types::String
46
+ attribute :resolution, Types::String
47
+ attribute :score, Types::Int
48
+ attribute :status, Types::String
49
+ attribute :tags, Types::Array.of(UserEngage::Tag)
50
+ attribute :timezone, Types::String
51
+ attribute :twitter_url, Types::String
52
+ attribute :unsubscribed, Types::Bool
53
+ attribute :updated_at, Types::DateTime
54
+ attribute :user_id, Types::Any
55
+
56
+ #####################
57
+ ## Private methods ##
58
+ #####################
59
+ private_class_method
60
+
61
+ def self.supported_find_params
62
+ %i[email key phone_number date]
63
+ end
64
+
65
+ def self.resource_name
66
+ 'users'.freeze
67
+ end
68
+ end
69
+ end
@@ -1,3 +1,3 @@
1
1
  module UserEngage
2
- VERSION = "0.0.1"
2
+ VERSION = '0.0.2'.freeze
3
3
  end
data/user_engage.gemspec CHANGED
@@ -1,27 +1,36 @@
1
1
 
2
- lib = File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "user_engage/version"
4
+ require 'user_engage/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "user_engage"
7
+ spec.name = 'user_engage'
8
8
  spec.version = UserEngage::VERSION
9
- spec.authors = ["Markus Schwed"]
10
- spec.email = ["markus@company-mood.com"]
9
+ spec.authors = ['Markus Schwed']
10
+ spec.email = ['markus@company-mood.com']
11
11
 
12
- spec.summary = %q{NOT READY YET!! - Ruby bindings for the UserEngage API}
13
- spec.description = %q{UserEngage (https://userengage.com) - Keep things simple with a single platform for all your messaging and relationships with customers.}
14
- spec.homepage = "https://github.com/CompanyMood/user_engage-ruby"
15
- spec.license = "MIT"
12
+ spec.summary = 'NOT READY YET!! - Ruby bindings for the UserEngage API'
13
+ spec.description = 'UserEngage (https://userengage.com) - '\
14
+ 'Keep things simple with a single platform '\
15
+ 'for all your messaging and relationships with customers.'
16
+ spec.homepage = 'https://github.com/CompanyMood/user_engage-ruby'
17
+ spec.license = 'MIT'
16
18
 
17
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
20
  f.match(%r{^(test|spec|features)/})
19
21
  end
20
- spec.bindir = "exe"
22
+ spec.bindir = 'exe'
21
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
24
+ spec.require_paths = ['lib']
23
25
 
24
- spec.add_development_dependency "bundler", "~> 1.16"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
26
+ spec.add_runtime_dependency 'dry-struct', '~> 0.4'
27
+ spec.add_runtime_dependency 'faraday', '~> 0.14'
28
+
29
+ spec.add_development_dependency 'bundler', '~> 1.16'
30
+ spec.add_development_dependency 'dotenv', '~> 2.2'
31
+ spec.add_development_dependency 'rake', '~> 10.0'
32
+ spec.add_development_dependency 'rspec', '~> 3.0'
33
+ spec.add_development_dependency 'rubocop', '~> 0.52'
34
+ spec.add_development_dependency 'vcr', '~> 4.0'
35
+ spec.add_development_dependency 'webmock', '~> 3.3'
27
36
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: user_engage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schwed
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-02 00:00:00.000000000 Z
11
+ date: 2018-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: dry-struct
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.14'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.14'
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: bundler
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +52,20 @@ dependencies:
24
52
  - - "~>"
25
53
  - !ruby/object:Gem::Version
26
54
  version: '1.16'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dotenv
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.2'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: rake
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +94,48 @@ dependencies:
52
94
  - - "~>"
53
95
  - !ruby/object:Gem::Version
54
96
  version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.52'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.52'
111
+ - !ruby/object:Gem::Dependency
112
+ name: vcr
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '4.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '4.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: webmock
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '3.3'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '3.3'
55
139
  description: UserEngage (https://userengage.com) - Keep things simple with a single
56
140
  platform for all your messaging and relationships with customers.
57
141
  email:
@@ -62,18 +146,29 @@ extra_rdoc_files: []
62
146
  files:
63
147
  - ".gitignore"
64
148
  - ".rspec"
149
+ - ".rubocop.yml"
65
150
  - ".travis.yml"
66
151
  - CODE_OF_CONDUCT.md
67
152
  - Gemfile
68
153
  - Gemfile.lock
69
154
  - LICENSE.txt
155
+ - NetrwTreeListing 3
70
156
  - README.md
71
157
  - Rakefile
158
+ - TODO.md
72
159
  - bin/console
73
160
  - bin/setup
74
161
  - lib/user_engage.rb
162
+ - lib/user_engage/attribute.rb
163
+ - lib/user_engage/base_model.rb
75
164
  - lib/user_engage/client.rb
76
165
  - lib/user_engage/configuration.rb
166
+ - lib/user_engage/errors.rb
167
+ - lib/user_engage/list.rb
168
+ - lib/user_engage/operation/destroy.rb
169
+ - lib/user_engage/operation/find.rb
170
+ - lib/user_engage/tag.rb
171
+ - lib/user_engage/user.rb
77
172
  - lib/user_engage/version.rb
78
173
  - user_engage.gemspec
79
174
  homepage: https://github.com/CompanyMood/user_engage-ruby