formkeep 0.0.6 → 0.0.7

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: 098be4e864dd79d7ed84fb6a0b5f78cc2091ec22
4
- data.tar.gz: 5a4dbe8aeacf0a7c1e9ec57bcf06a63053eee53b
3
+ metadata.gz: 191b02d3b0ae2b067e0906faecdfdfdad73ba205
4
+ data.tar.gz: 97795f03acdb1a2bab7b84a2f028859cca4c4dbf
5
5
  SHA512:
6
- metadata.gz: f0c1fd27c0f2738c23aa92495fc57828445bd9b74a86e4ecb687f9ef8cfb24e545d1f3005b3bac20858b8146d24a25c8aa65c82cbbac6b1bb03cbc27cdaa2c78
7
- data.tar.gz: 8ae5eae25ce2ee7f9271d0264b3780994de9dc813606671faf6ef7aa8e51f9f3b8ff0bf12b49ce3afb7a0d574ac81502a6abc2a1034decee244e17bf860bdef0
6
+ metadata.gz: 7cde1deac8d2e15cecf688b62ea134145db9a3280e9d4896ab781f70ac58f2f13f954717723118a8ee20659871c5820a8bedbd04249e9f0e280479052ed00332
7
+ data.tar.gz: 7cb10f36e1271a565a8f26760ac2008ff540c72d57617c3d118c0dc11e6941680e38174d3897c6c03afbde387e8c9d93ec626c415db76d3e4272563b7f63ed14
@@ -0,0 +1,2 @@
1
+ ruby:
2
+ enabled: true
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- - `formkeep add FORM_NAME`
5
+ - `formkeep add FORM_NAME FORM_ENDPOINT`
6
6
  ## 0.0.6 --- 2014-10-24
7
7
 
8
8
  ### Added
@@ -0,0 +1,23 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'ctags-bundler', :src_path => ["app", "lib", "spec/support"] do
5
+ watch(/^(app|lib|spec\/support)\/.*\.rb$/)
6
+ watch('Gemfile.lock')
7
+ end
8
+
9
+ guard :rubocop, all_on_start: false do
10
+ watch(%r{^lib/.+\.rb$})
11
+ watch(%r{bin/.+})
12
+ watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
13
+ end
14
+
15
+ guard :rspec, cmd: 'bundle exec rspec' do
16
+ watch(%r{^spec/.+_spec\.rb$})
17
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
18
+ watch('spec/spec_helper.rb') { "spec" }
19
+
20
+ # Turnip features and steps
21
+ watch(%r{^spec/acceptance/(.+)\.feature$})
22
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
23
+ end
data/README.md CHANGED
@@ -25,6 +25,7 @@ Or install it yourself as:
25
25
  It should look something like this:
26
26
 
27
27
  ~~~
28
+ ---
28
29
  form_name: api_endpoint_url_in_full
29
30
  ~~~
30
31
 
@@ -32,8 +33,12 @@ You can have as many form entries as you like. They don't necessarily need to be
32
33
 
33
34
  ## Usage
34
35
 
36
+ Simply pass the key of the form from `~/.formkeep.yaml` to the `unread` command to check for unread messages. If you have [Sticky Notifications][sn] installed (OS X only) you can have a sticky notification created by passing the `-s` or `--sticky` flag.
37
+
38
+ [sn]: http://instinctivecode.com/sticky-notifications/
39
+
35
40
  ~~~
36
- formkeep unread FORM
41
+ formkeep unread FORM [-s]
37
42
  ~~~
38
43
 
39
44
  ## Contributing
data/Rakefile CHANGED
@@ -1,6 +1,16 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
  require 'yard'
4
+ require 'rubocop/rake_task'
5
+
6
+ desc 'Run RuboCop on the lib directory'
7
+ RuboCop::RakeTask.new(:rubocop) do |task|
8
+ task.patterns = ['lib/**/*.rb']
9
+ # only show the files with failures
10
+ task.formatters = ['files']
11
+ # don't abort rake on failure
12
+ task.fail_on_error = false
13
+ end
4
14
 
5
15
  RSpec::Core::RakeTask.new(:spec)
6
16
 
@@ -4,9 +4,9 @@ require 'formkeep'
4
4
  require 'slop'
5
5
 
6
6
  opts = Slop.parse do
7
- banner "Usage: formkeep unread FORM"
8
- on :h, :help, "Display help"
9
- on :v, :version, "Display version" do
7
+ banner 'Usage: formkeep unread FORM'
8
+ on :h, :help, 'Display help'
9
+ on :v, :version, 'Display version' do
10
10
  puts Formkeep::VERSION
11
11
  exit
12
12
  end
@@ -15,17 +15,19 @@ opts = Slop.parse do
15
15
  banner <<-EOF
16
16
  Usage: formkeep unread FORM
17
17
 
18
- Please make sure you have a valid Formkeep API endpoint saved in ~/.formkeep.yaml
18
+ Make sure you have a valid Formkeep API endpoint saved in ~/.formkeep.yaml
19
19
  EOF
20
- on :s, :sticky, "Create sticky notification"
21
- run do |opts, args|
22
- unless args.empty?
20
+ on :s, :sticky, 'Create sticky notification'
21
+ run do |options, args|
22
+ if !args.empty?
23
23
  form = Formkeep::Form.new(args[0])
24
24
  count = form.unread_submissions.length
25
25
  puts count
26
- form.sticky("#{form.form} has unread submissions.") if (opts[:s] && count > 0)
26
+ if options[:s] && count > 0
27
+ form.sticky("#{form.form} has unread submissions.")
28
+ end
27
29
  else
28
- puts opts
30
+ puts options
29
31
  end
30
32
  end
31
33
  end
@@ -21,6 +21,11 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.7"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
  spec.add_development_dependency "rspec"
24
+ spec.add_development_dependency "guard"
25
+ spec.add_development_dependency "guard-rspec"
26
+ spec.add_development_dependency "guard-rubocop"
27
+ spec.add_development_dependency "guard-ctags-bundler"
28
+ spec.add_development_dependency "rubocop"
24
29
 
25
30
  spec.add_dependency "slop"
26
31
  spec.add_dependency "stickynotifications", "~> 0.0.5 "
@@ -1,4 +1,4 @@
1
- require "formkeep/version"
1
+ require 'formkeep/version'
2
2
  require 'pp'
3
3
  require 'json'
4
4
  require 'net/http'
@@ -8,10 +8,9 @@ require 'stickynotifications'
8
8
  # @author Brandon Pittman
9
9
  # Helper methods for accessing Formkeep API
10
10
  module Formkeep
11
- # @author Brandon Pittman
11
+ # @author Brandon Pittman
12
12
  # Helper methods for accessing Formkeep API
13
13
  class Form
14
-
15
14
  # @!attribute form
16
15
  # @return [String] name of Form to be used
17
16
  # @since 0.0.4
@@ -69,8 +68,8 @@ module Formkeep
69
68
  # @return [Array] all submissions
70
69
  # @since 0.0.4
71
70
  def submissions
72
- all = JSON.parse(response)["submissions"]
73
- all.reject { |sub| sub["spam"] }
71
+ all = JSON.parse(response)['submissions']
72
+ all.reject { |sub| sub['spam'] }
74
73
  end
75
74
 
76
75
  # Latest submission info
@@ -83,13 +82,13 @@ module Formkeep
83
82
  # @return [String] name of latest submission
84
83
  # @since 0.0.4
85
84
  def latest_name
86
- latest_submission.fetch("name")
85
+ latest_submission.fetch('name')
87
86
  end
88
87
 
89
88
  # @return [String] email of latest submission
90
89
  # @since 0.0.4
91
90
  def latest_email
92
- latest_submission.fetch("email")
91
+ latest_submission.fetch('email')
93
92
  end
94
93
  # @!endgroup
95
94
 
@@ -98,7 +97,7 @@ module Formkeep
98
97
  # @since 0.0.4
99
98
  def unread_submissions
100
99
  submissions.reject do |submission|
101
- submission.fetch("read_at")
100
+ submission.fetch('read_at')
102
101
  end
103
102
  end
104
103
 
@@ -106,14 +105,18 @@ module Formkeep
106
105
  # @since 0.0.4
107
106
  def read_submissions
108
107
  submissions.select do |submission|
109
- submission.fetch("read_at")
108
+ submission.fetch('read_at')
110
109
  end
111
110
  end
112
111
  # @!endgroup
113
112
 
114
113
  # @!group Process
114
+ # @param text [String] text to pass to Sticky Notifications
115
+ # @return [Nil]
116
+ # @note This requires the OS X app, Sticky Notifications.
117
+ # @since 0.0.6
115
118
  def sticky(text)
116
- StickyNotifications::Note.new.create(text)
119
+ StickyNotifications::Note.new.create(text, 'Formkeep')
117
120
  end
118
121
  # @!endgroup
119
122
  end
@@ -1,4 +1,5 @@
1
+ # @author "Brandon Pittman"
1
2
  module Formkeep
2
3
  # Sets version for RubyGems
3
- VERSION = "0.0.6"
4
+ VERSION = '0.0.7'
4
5
  end
@@ -1,24 +1,27 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Formkeep do
4
+ let(:test) { Formkeep::Form.new('test') }
5
+ let(:pixelsnatch) { Formkeep::Form.new('pixelsnatch') }
6
+ let(:subs) { pixelsnatch.submissions }
4
7
 
5
- let(:test) {Formkeep::Form.new("test")}
6
- let(:pixelsnatch) {Formkeep::Form.new("pixelsnatch")}
7
- let(:subs) {pixelsnatch.submissions}
8
-
9
- it 'has a version number' do
8
+ it 'has a version number', cli: true do
10
9
  expect(Formkeep::VERSION).not_to be nil
11
10
  end
12
11
 
13
- it 'pulls the correct API endpoint from the config YAML file' do
14
- expect(test.api).to eq("test")
12
+ it 'pulls the correct API endpoint from the config YAML file', api: true do
13
+ expect(test.api).to eq('test')
15
14
  end
16
15
 
17
- it "it pulls a submissions array" do
16
+ it 'it pulls a submissions array', api: true do
18
17
  expect(subs.class).to eq(Array)
19
18
  end
20
19
 
21
- it "pulls the latest submission" do
20
+ it 'pulls the latest submission', api: true do
22
21
  expect(pixelsnatch.latest_submission.class).to eq(Hash) if subs.length > 0
23
22
  end
23
+
24
+ it 'creates a Sticky Notification', cli: true do
25
+ expect { test.sticky('Just testing Formkeep!') }.not_to raise_error
26
+ end
24
27
  end
@@ -1,2 +1,3 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
2
  require 'formkeep'
3
+ require 'guard/rspec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: formkeep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - brandonpittman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-24 00:00:00.000000000 Z
11
+ date: 2014-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,76 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
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: guard-rspec
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
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-ctags-bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
55
125
  - !ruby/object:Gem::Dependency
56
126
  name: slop
57
127
  requirement: !ruby/object:Gem::Requirement
@@ -89,9 +159,11 @@ extensions: []
89
159
  extra_rdoc_files: []
90
160
  files:
91
161
  - ".gitignore"
162
+ - ".hound.yml"
92
163
  - ".travis.yml"
93
164
  - CHANGELOG.md
94
165
  - Gemfile
166
+ - Guardfile
95
167
  - LICENSE.txt
96
168
  - README.md
97
169
  - Rakefile
@@ -121,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
193
  version: '0'
122
194
  requirements: []
123
195
  rubyforge_project:
124
- rubygems_version: 2.4.2
196
+ rubygems_version: 2.4.5
125
197
  signing_key:
126
198
  specification_version: 4
127
199
  summary: A library for interacting with the formkeep API.