griddler-cloudmailin 0.0.1 → 1.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fedb235f9299777b382940abbebbdecb9ef76f48
4
- data.tar.gz: 10cd44cd4cc53fd480d48df5dc49a562a21fe676
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Yjk1MmZiNTExNTBjZTQwNTdhOWEzYzU3NGI5ZDMwYWJkZDI1Yzk0OA==
5
+ data.tar.gz: !binary |-
6
+ MGRjZjRmY2MyMTY1MGEzNDYzZWQyYTJiZTM1MDk4ZmZjOGM1OTc2OA==
5
7
  SHA512:
6
- metadata.gz: 346ae7e46d5fcbec5a80da8a01acbf9acace8d883103b45b4550f8228cf8c5951c886565c4f2fa034a00fd89553bf80a00e38811998644656a1e04d2b735dd79
7
- data.tar.gz: a2e66410901a3c7056a0e692a2d7fe821a7e2a59b08fc490940d993ec7631883b1651db592c23dda197b9f9d853da1205a496cbaead507c8ec8036fce1bbec11
8
+ metadata.gz: !binary |-
9
+ YTBiNDBiNTljNGRkY2EyNTUwNGFhMjhkOTI1NjMwMDE2ZTlhMWQ4YTM2NTZh
10
+ NTUxMTI4NDgzMDZjNmRmOTFiMzhkYTQ3OTMwNzUxZTAyZjgwYmMyZmVlNTM5
11
+ ZjU1YjFmMGJiOWQyMTZiYmVkODQ4YTdhYTcwYWJkZDVhMTgzMjc=
12
+ data.tar.gz: !binary |-
13
+ NjM5MzRlMjY4ZmZlZjhhNDM5M2NjNzM0M2E2Yzc5MWFkNWFlYjgwZWI1ZDBj
14
+ ZWEwMDNmY2M3NmY1ODFhMWViNTQ5NjhlM2M3OGU0YTMzYTAxZjk4MDExMDk5
15
+ MzEyNzNkMGY0NmZiODViOTVlMjY5M2NmYTAwMzA4ZTYyNTc4MDA=
data/.gitignore CHANGED
@@ -1,3 +1,6 @@
1
+ .ruby-gemset
2
+ .ruby-version
3
+ .rspec
1
4
  *.gem
2
5
  *.rbc
3
6
  .bundle
@@ -0,0 +1,4 @@
1
+ ---
2
+ ruby:
3
+ enabled: true
4
+ config_file: .rubocop.yml
@@ -0,0 +1,53 @@
1
+ ---
2
+ AllCops:
3
+ TargetRubyVersion: 1.9
4
+ DisplayCopNames: true
5
+ Exclude:
6
+ - 'tmp/**/*'
7
+
8
+ Metrics/BlockLength:
9
+ CountComments: false # count full line comments?
10
+ Exclude:
11
+ - '**/*_spec.rb'
12
+
13
+ StringLiterals:
14
+ EnforcedStyle: single_quotes
15
+ Enabled: true
16
+
17
+ DotPosition:
18
+ Description: 'Checks the position of the dot in multi-line method calls.'
19
+ EnforcedStyle: leading
20
+ Enabled: true
21
+
22
+ ClassAndModuleChildren:
23
+ Description: 'Checks style of children classes and modules.'
24
+ EnforcedStyle: nested
25
+ Enabled: true
26
+
27
+ Documentation:
28
+ Description: 'Document classes and non-namespace modules.'
29
+ Enabled: false
30
+
31
+ FileName:
32
+ Description: 'Use snake_case for source file names.'
33
+ Enabled: true
34
+
35
+ LineLength:
36
+ Max: 120
37
+ Enabled: true
38
+
39
+ Style/ExtraSpacing:
40
+ Description: 'Do not use unnecessary spacing.'
41
+ Enabled: true
42
+
43
+ Lint/LiteralInInterpolation:
44
+ Description: 'Avoid interpolating literals in strings'
45
+ AutoCorrect: true
46
+
47
+ Style/TrailingCommaInLiteral:
48
+ EnforcedStyleForMultiline: no_comma
49
+ Enabled: true
50
+
51
+ Style/TrailingCommaInArguments:
52
+ EnforcedStyleForMultiline: no_comma
53
+ Enabled: true
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ dist: trusty
3
+ rvm:
4
+ - 2.4.0
5
+ - 2.3
6
+ - 2.2
7
+ - 1.9
8
+ - jruby
9
+
10
+ before_install:
11
+ - gem update bundler
12
+
13
+ script: bundle exec rspec
data/Gemfile CHANGED
@@ -1,5 +1,22 @@
1
- source "https://rubygems.org"
1
+ source 'https://rubygems.org'
2
2
 
3
- gem "griddler", github: "thoughtbot/griddler"
3
+ gem 'griddler', github: 'thoughtbot/griddler' # So as to include the spec folder
4
+ gem 'nokogiri', (RUBY_VERSION < '2' ? '< 1.7' : '> 0') # Nokogiri >= 1.7 requires Ruby 2+
4
5
 
5
6
  gemspec
7
+
8
+ group :development do
9
+ gem 'bundler'
10
+ gem 'gem-release'
11
+ gem 'guard'
12
+ gem 'guard-rspec'
13
+ gem 'guard-rubocop'
14
+ end
15
+
16
+ group :test do
17
+ gem 'coveralls'
18
+ gem 'fuubar'
19
+ gem 'rspec'
20
+ gem 'rspec_junit_formatter'
21
+ gem 'simplecov', '~> 0.13'
22
+ end
@@ -1,5 +1,4 @@
1
- Copyright (c) 2014
2
- Portions copyright (c) 2014 Caleb Thompson, Joel Oliveira and thoughtbot, inc.
1
+ Copyright (c) 2017 Dominic Sayers and Caleb Thompson
3
2
 
4
3
  MIT License
5
4
 
data/README.md CHANGED
@@ -1,4 +1,11 @@
1
1
  # Griddler::Cloudmailin
2
+ [![Gem Version](https://badge.fury.io/rb/griddler-cloudmailin.svg)](https://rubygems.org/gems/griddler-cloudmailin)
3
+ [![Gem downloads](https://img.shields.io/gem/dt/griddler-cloudmailin.svg)](https://rubygems.org/gems/griddler-cloudmailin)
4
+ [![Code quality](http://img.shields.io/codeclimate/github/thoughtbot/griddler-cloudmailin.svg?style=flat)](https://codeclimate.com/github/thoughtbot/griddler-cloudmailin)
5
+ [![Dependency Status](https://gemnasium.com/badges/github.com/thoughtbot/griddler-cloudmailin.svg)](https://gemnasium.com/github.com/thoughtbot/griddler-cloudmailin)
6
+ [![Security](https://hakiri.io/github/thoughtbot/griddler-cloudmailin/master.svg)](https://hakiri.io/github/thoughtbot/griddler-cloudmailin/master)
7
+ [![Build status](https://img.shields.io/travis/thoughtbot/griddler-cloudmailin/master.svg)](https://travis-ci.org/thoughtbot/griddler-cloudmailin)
8
+ [![Coverage Status](https://coveralls.io/repos/github/thoughtbot/griddler-cloudmailin/badge.svg?branch=master)](https://coveralls.io/github/thoughtbot/griddler-cloudmailin?branch=master)
2
9
 
3
10
  An adapter for [Griddler](https://github.com/thoughtbot/griddler) to allow
4
11
  [Cloudmailin](http://cloudmailin.com) to be used with the gem.
@@ -8,14 +15,25 @@ An adapter for [Griddler](https://github.com/thoughtbot/griddler) to allow
8
15
  Add this line to your application's Gemfile:
9
16
 
10
17
  ```ruby
11
- gem 'griddler'
12
18
  gem 'griddler-cloudmailin'
13
19
  ```
14
20
 
15
21
  ## Usage
16
22
 
17
- TODO: Write usage instructions here
23
+ See the [Griddler](https://github.com/thoughtbot/griddler) gem for usage instructions
24
+
25
+ ## Upgrading from version 0.0.1
26
+
27
+ Griddler::Cloudmailin now includes all details of the recipients of the email in the `to` array of a `Griddler::Email`
28
+ object. In version 0.0.1 this method returned the bare address of the Cloudmailin recipient only.
29
+
30
+ The email `date` is now returned as well.
31
+
32
+ There is an additional `bcc` array which contains the Cloudmailin recipient if it was BCCed on the email.
33
+
34
+ Attachments are now returned in the `attachments` array.
18
35
 
19
36
  ## More Information
20
37
 
21
- * [Cloudmailin Docs](http://docs.cloudmailin.com/)
38
+ * [Griddler](https://github.com/thoughtbot/griddler)
39
+ * [Cloudmailin documentation](http://docs.cloudmailin.com/)
data/Rakefile CHANGED
@@ -1,2 +1 @@
1
- require "bundler/gem_tasks"
2
-
1
+ require 'bundler/gem_tasks'
@@ -4,23 +4,19 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'griddler/cloudmailin/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "griddler-cloudmailin"
7
+ spec.name = 'griddler-cloudmailin'
8
8
  spec.version = Griddler::Cloudmailin::VERSION
9
- spec.authors = ["calebthompson"]
10
- spec.email = ["caleb@calebthompson.io"]
11
- spec.summary = %q{Griddler Cloudmailin}
12
- spec.description = %q{Griddler Cloudmailin}
13
- spec.homepage = ""
14
- spec.license = "MIT"
9
+ spec.authors = ['Dominic Sayers & Caleb Thompson']
10
+ spec.email = ['dominic@sayers.cc']
11
+ spec.summary = 'Griddler Plugin for cloudmailin'
12
+ spec.description = 'Griddler Plugin for cloudmailin email parsing service'
13
+ spec.homepage = 'https://github.com/thoughtbot/griddler-cloudmailin'
14
+ spec.license = 'MIT'
15
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"]
16
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
17
+ spec.executables = spec.files.grep(%r{^bin\/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features|coverage)\/})
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec"
24
-
25
- spec.add_dependency "griddler"
21
+ spec.add_dependency 'griddler'
26
22
  end
@@ -1,5 +1,5 @@
1
- require "griddler"
2
- require "griddler/cloudmailin/version"
3
- require "griddler/cloudmailin/adapter"
1
+ require 'griddler'
2
+ require 'griddler/cloudmailin/version'
3
+ require 'griddler/cloudmailin/adapter'
4
4
 
5
5
  Griddler.adapter_registry.register(:cloudmailin, Griddler::Cloudmailin::Adapter)
@@ -1,35 +1,76 @@
1
- require 'active_support/core_ext/string/strip'
2
-
3
1
  module Griddler
4
2
  module Cloudmailin
5
3
  class Adapter
6
- def initialize(params)
7
- @params = params
8
- end
9
-
10
4
  def self.normalize_params(params)
11
5
  adapter = new(params)
12
6
  adapter.normalize_params
13
7
  end
14
8
 
15
9
  def normalize_params
16
- {
17
- to: params[:envelope][:to].split(','),
18
- cc: ccs,
19
- from: params[:envelope][:from],
20
- subject: params[:headers][:Subject],
21
- text: params[:plain],
22
- attachments: params.fetch(:attachments) { [] },
23
- }
10
+ normalized_params = base_params
11
+ normalized_params[:bcc] = bcc unless bcc.empty?
12
+ normalized_params
13
+ end
14
+
15
+ def legacy?
16
+ @legacy ||= headers.key? :From
24
17
  end
25
18
 
26
19
  private
27
20
 
28
21
  attr_reader :params
29
22
 
23
+ def initialize(params)
24
+ @params = params
25
+ end
26
+
27
+ def recipients(field)
28
+ headers[field].to_s.split(',').map(&:strip)
29
+ end
30
+
30
31
  def ccs
31
- params[:headers][:Cc].to_s.split(',').map(&:strip)
32
+ @ccs ||= recipients(header_keys[:cc])
33
+ end
34
+
35
+ def tos
36
+ @tos ||= recipients(header_keys[:to])
37
+ end
38
+
39
+ def envelope_to
40
+ @envelope_to ||= params[:envelope][:to]
41
+ end
42
+
43
+ def header_emails
44
+ @header_emails ||= (tos | ccs).map { |addressee| Griddler::EmailParser.parse_address(addressee)[:email] }
45
+ end
46
+
47
+ def bcc
48
+ @bcc ||= header_emails.include?(envelope_to) ? [] : [envelope_to]
49
+ end
50
+
51
+ def headers
52
+ @headers ||= params[:headers]
32
53
  end
54
+
55
+ def base_params # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
56
+ @base_params ||= {
57
+ to: tos,
58
+ cc: ccs,
59
+ from: headers[header_keys[:from]],
60
+ date: headers[header_keys[:date]].try(:to_datetime),
61
+ subject: headers[header_keys[:subject]],
62
+ text: params[:plain],
63
+ html: params[:html],
64
+ attachments: params.fetch(:attachments) { {} }.values,
65
+ headers: headers
66
+ }
67
+ end
68
+
69
+ def header_keys
70
+ @header_keys ||= Hash[legacy? ? KEY_LIST.map { |s| [s, s.capitalize] } : KEY_LIST.map { |s| [s, s] }]
71
+ end
72
+
73
+ KEY_LIST = [:from, :to, :cc, :date, :subject].freeze
33
74
  end
34
75
  end
35
76
  end
@@ -1,5 +1,5 @@
1
1
  module Griddler
2
2
  module Cloudmailin
3
- VERSION = "0.0.1"
3
+ VERSION = '1.1.0'.freeze
4
4
  end
5
5
  end
@@ -1,50 +1,165 @@
1
1
  require 'spec_helper'
2
2
 
3
+ describe Griddler::Cloudmailin::Adapter do
4
+ it 'registers itself with griddler' do
5
+ expect(Griddler.adapter_registry[:cloudmailin]).to be(
6
+ Griddler::Cloudmailin::Adapter
7
+ )
8
+ end
9
+ end
10
+
3
11
  describe Griddler::Cloudmailin::Adapter, '.normalize_params' do
4
- it_should_behave_like 'Griddler adapter', :cloudmailin, {
5
- envelope: {
6
- to: 'Hello World <hi@example.com>',
7
- from: 'There <there@example.com>',
8
- },
9
- plain: 'hi',
10
- headers: { Cc: 'emily@example.com' },
11
- }
12
+ context 'without bcc' do
13
+ it_should_behave_like(
14
+ 'Griddler adapter',
15
+ :cloudmailin,
16
+ envelope: {
17
+ to: 'hi@example.com',
18
+ from: 'there@example.com'
19
+ },
20
+ plain: 'hi',
21
+ headers: {
22
+ From: 'there@example.com',
23
+ To: 'Hello World <hi@example.com>',
24
+ Cc: 'emily@example.com'
25
+ }
26
+ )
27
+ end
28
+
29
+ context 'with bcc' do
30
+ it_should_behave_like(
31
+ 'Griddler adapter',
32
+ :cloudmailin,
33
+ envelope: {
34
+ to: 'sandra@example.com',
35
+ from: 'there@example.com'
36
+ },
37
+ plain: 'hi',
38
+ headers: {
39
+ From: 'there@example.com',
40
+ To: 'Hello World <hi@example.com>',
41
+ Cc: 'emily@example.com'
42
+ }
43
+ )
44
+ end
12
45
 
13
46
  it 'normalizes parameters' do
14
- expect(Griddler::Cloudmailin::Adapter.normalize_params(default_params)).to be_normalized_to({
47
+ expect(normalized).to be_normalized_to(
48
+ to: ['Some Identifier <some-identifier@example.com>'],
49
+ cc: ['emily@example.com'],
50
+ from: 'Joe User <joeuser@example.com>',
51
+ subject: 'Re: [ThisApp] That thing',
52
+ text: /Dear bob/
53
+ )
54
+ end
55
+
56
+ it 'normalizes parameters where the recipient has been BCCed' do
57
+ expect(normalized(bcc_params)).to be_normalized_to(
15
58
  to: ['Some Identifier <some-identifier@example.com>'],
16
59
  cc: ['emily@example.com'],
60
+ bcc: ['sandra@example.com'],
17
61
  from: 'Joe User <joeuser@example.com>',
18
62
  subject: 'Re: [ThisApp] That thing',
19
63
  text: /Dear bob/
20
- })
64
+ )
21
65
  end
22
66
 
23
- it 'passes the received array of files' do
24
- params = default_params.merge({ attachments: [upload_1, upload_2] })
67
+ it 'normalizes parameters where the recipient has been CCed' do
68
+ expect(normalized(cc_params)).to be_normalized_to(
69
+ cc: ['Some Identifier <some-identifier@example.com>'],
70
+ to: ['emily@example.com'],
71
+ from: 'Joe User <joeuser@example.com>',
72
+ subject: 'Re: [ThisApp] That thing',
73
+ text: /Dear bob/
74
+ )
75
+ end
76
+
77
+ it 'changes attachments to an array of files' do
78
+ params = BASE_PARAMS.merge(attachments: { '0' => upload_1, '1' => upload_2 })
25
79
 
26
- normalized_params = Griddler::Cloudmailin::Adapter.normalize_params(params)
27
- expect(normalized_params[:attachments]).to eq [upload_1, upload_2]
80
+ normalized_params = normalized(params)
81
+ expect(normalized_params[:attachments]).to include(upload_1, upload_2)
82
+ expect(normalized_params[:attachments]).not_to include('0')
83
+ expect(normalized_params[:attachments]).not_to include('1')
28
84
  end
29
85
 
30
86
  it 'has no attachments' do
31
- params = default_params
87
+ expect(normalized[:attachments]).to be_empty
88
+ end
32
89
 
33
- normalized_params = Griddler::Cloudmailin::Adapter.normalize_params(params)
34
- expect(normalized_params[:attachments]).to be_empty
90
+ it 'wraps to in an array' do
91
+ expect(normalized[:to]).to eq([BASE_PARAMS[:headers][:to]])
35
92
  end
36
93
 
37
- def default_params
38
- {
39
- envelope: { to: 'Some Identifier <some-identifier@example.com>', from: 'Joe User <joeuser@example.com>' },
40
- headers: { Subject: 'Re: [ThisApp] That thing', Cc: 'emily@example.com' },
41
- plain: <<-EOS.strip_heredoc.strip
42
- Dear bob
94
+ it 'wraps cc in an array' do
95
+ expect(normalized[:cc]).to eq([BASE_PARAMS[:headers][:cc]])
96
+ end
43
97
 
44
- Reply ABOVE THIS LINE
98
+ it 'returns the date' do
99
+ expect(normalized[:date]).to eq(BASE_PARAMS[:headers][:date].to_datetime)
100
+ end
101
+
102
+ it 'returns an array even if cc is empty' do
103
+ expect(normalized(nocc_params)[:cc]).to eq([])
104
+ end
105
+
106
+ it 'detects which format of params is in use' do
107
+ expect(Griddler::Cloudmailin::Adapter.new(BASE_PARAMS).legacy?).to be_falsey
108
+ expect(Griddler::Cloudmailin::Adapter.new(BASE_PARAMS_LEGACY).legacy?).to be_truthy
109
+ end
110
+
111
+ def normalized(params = BASE_PARAMS)
112
+ Griddler::Cloudmailin::Adapter.normalize_params(params)
113
+ end
114
+
115
+ def bcc_params
116
+ BASE_PARAMS.merge(
117
+ envelope: BASE_PARAMS[:envelope].merge(to: 'sandra@example.com')
118
+ )
119
+ end
120
+
121
+ def nocc_params
122
+ BASE_PARAMS.merge(
123
+ headers: BASE_PARAMS[:headers].except(:cc)
124
+ )
125
+ end
45
126
 
46
- hey sup
47
- EOS
48
- }
127
+ def cc_params
128
+ BASE_PARAMS.merge(
129
+ headers: BASE_PARAMS[:headers].merge(
130
+ cc: 'Some Identifier <some-identifier@example.com>',
131
+ to: 'emily@example.com'
132
+ )
133
+ )
49
134
  end
135
+
136
+ BASE_PARAMS = {
137
+ envelope: {
138
+ to: 'some-identifier@example.com',
139
+ from: 'joeuser@example.com'
140
+ },
141
+ headers: {
142
+ subject: 'Re: [ThisApp] That thing',
143
+ from: 'Joe User <joeuser@example.com>',
144
+ to: 'Some Identifier <some-identifier@example.com>',
145
+ cc: 'emily@example.com',
146
+ date: 'Fri, 30 Sep 2016 10:30:15 +0200'
147
+ },
148
+ plain: "Dear bob\n\nReply ABOVE THIS LINE\n\nhey sup"
149
+ }.freeze
150
+
151
+ BASE_PARAMS_LEGACY = {
152
+ envelope: {
153
+ to: 'some-identifier@example.com',
154
+ from: 'joeuser@example.com'
155
+ },
156
+ headers: {
157
+ Subject: 'Re: [ThisApp] That thing',
158
+ From: 'Joe User <joeuser@example.com>',
159
+ To: 'Some Identifier <some-identifier@example.com>',
160
+ Cc: 'emily@example.com',
161
+ Date: 'Fri, 30 Sep 2016 10:30:15 +0200'
162
+ },
163
+ plain: "Dear bob\n\nReply ABOVE THIS LINE\n\nhey sup"
164
+ }.freeze
50
165
  end
@@ -1,3 +1,11 @@
1
+ unless ENV['NO_SIMPLECOV']
2
+ require 'simplecov'
3
+ require 'coveralls'
4
+
5
+ SimpleCov.start { add_filter '/spec/' }
6
+ Coveralls.wear! if ENV['COVERALLS_REPO_TOKEN']
7
+ end
8
+
1
9
  require 'griddler/testing'
2
10
  require 'griddler/cloudmailin'
3
11
 
metadata CHANGED
@@ -1,79 +1,40 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: griddler-cloudmailin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
- - calebthompson
7
+ - Dominic Sayers & Caleb Thompson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
11
+ date: 2017-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.6'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
13
  - !ruby/object:Gem::Dependency
56
14
  name: griddler
57
15
  requirement: !ruby/object:Gem::Requirement
58
16
  requirements:
59
- - - ">="
17
+ - - ! '>='
60
18
  - !ruby/object:Gem::Version
61
19
  version: '0'
62
20
  type: :runtime
63
21
  prerelease: false
64
22
  version_requirements: !ruby/object:Gem::Requirement
65
23
  requirements:
66
- - - ">="
24
+ - - ! '>='
67
25
  - !ruby/object:Gem::Version
68
26
  version: '0'
69
- description: Griddler Cloudmailin
27
+ description: Griddler Plugin for cloudmailin email parsing service
70
28
  email:
71
- - caleb@calebthompson.io
29
+ - dominic@sayers.cc
72
30
  executables: []
73
31
  extensions: []
74
32
  extra_rdoc_files: []
75
33
  files:
76
- - ".gitignore"
34
+ - .gitignore
35
+ - .hound.yml
36
+ - .rubocop.yml
37
+ - .travis.yml
77
38
  - Gemfile
78
39
  - LICENSE.txt
79
40
  - README.md
@@ -84,7 +45,7 @@ files:
84
45
  - lib/griddler/cloudmailin/version.rb
85
46
  - spec/griddler/cloudmailin/adapter_spec.rb
86
47
  - spec/spec_helper.rb
87
- homepage: ''
48
+ homepage: https://github.com/thoughtbot/griddler-cloudmailin
88
49
  licenses:
89
50
  - MIT
90
51
  metadata: {}
@@ -94,20 +55,20 @@ require_paths:
94
55
  - lib
95
56
  required_ruby_version: !ruby/object:Gem::Requirement
96
57
  requirements:
97
- - - ">="
58
+ - - ! '>='
98
59
  - !ruby/object:Gem::Version
99
60
  version: '0'
100
61
  required_rubygems_version: !ruby/object:Gem::Requirement
101
62
  requirements:
102
- - - ">="
63
+ - - ! '>='
103
64
  - !ruby/object:Gem::Version
104
65
  version: '0'
105
66
  requirements: []
106
67
  rubyforge_project:
107
- rubygems_version: 2.4.5
68
+ rubygems_version: 2.6.11
108
69
  signing_key:
109
70
  specification_version: 4
110
- summary: Griddler Cloudmailin
71
+ summary: Griddler Plugin for cloudmailin
111
72
  test_files:
112
73
  - spec/griddler/cloudmailin/adapter_spec.rb
113
74
  - spec/spec_helper.rb