evernote-editor 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5e0c7eda0c6c08b8b4e4d1bbc6a2e3c8965a5ceb
4
+ data.tar.gz: 42b9daf7d67a81bdf93b2e62ecdb60636201027a
5
+ SHA512:
6
+ metadata.gz: 091f9574bb001018e1d6738d9f415f7bcc55f4fdfeb364c9c003754004deab16084a495e229f75c8175063a9406c61b1df1ec24839cc28656b995583c0ae0355
7
+ data.tar.gz: 95d4c1a1c980bab523e65ee59ba691e821faaa6010d423b396c76ac32d8eb433dd0b958461dfa7a92766b9e75add08aefda44516b8e2032f8abe1d6d7158ef07
data/README.md CHANGED
@@ -26,3 +26,8 @@ You can modify both values later by editing `~/.enved`
26
26
  -h, --help Display this screen
27
27
 
28
28
  Title is optional on note creation. Tags are ignored when a note is edited.
29
+
30
+ ## Development
31
+
32
+ bundle
33
+ bx rspec spec
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
 
21
- gem.add_runtime_dependency "evernote_oauth", "~> 0.1.6"
21
+ gem.add_runtime_dependency "evernote_oauth", "~> 0.2.1"
22
22
  gem.add_runtime_dependency "highline", "~> 1.6.15"
23
23
  gem.add_runtime_dependency "redcarpet", "~> 2.2.2"
24
24
  gem.add_runtime_dependency "reverse_markdown", "~> 0.4.3"
@@ -2,6 +2,7 @@ require 'evernote_oauth'
2
2
  require 'fileutils'
3
3
  require 'tempfile'
4
4
  require "highline/import"
5
+ require "json"
5
6
  require "redcarpet"
6
7
  require "reverse_markdown"
7
8
 
@@ -28,21 +29,23 @@ module EvernoteEditor
28
29
 
29
30
  def configure
30
31
  FileUtils.touch(CONFIGURATION_FILE) unless File.exist?(CONFIGURATION_FILE)
31
- @configuration = YAML::load(File.open(CONFIGURATION_FILE)) || {}
32
- store_key unless @configuration[:token]
33
- store_editor unless @configuration[:editor]
32
+ #@configuration = YAML::load(File.open(CONFIGURATION_FILE)) || {}
33
+ @configuration = JSON::load(File.open(CONFIGURATION_FILE)) || {}
34
+ #@configuration = JSON.parse( IO.read(CONFIGURATION_FILE) || {} )
35
+ store_key unless @configuration['token']
36
+ store_editor unless @configuration['editor']
34
37
  end
35
38
 
36
39
  def create_note
37
40
  markdown = invoke_editor
38
41
  begin
39
- evn_client = EvernoteOAuth::Client.new(token: @configuration[:token], sandbox: @sandbox)
42
+ evn_client = EvernoteOAuth::Client.new(token: @configuration['token'], sandbox: @sandbox)
40
43
  note_store = evn_client.note_store
41
44
  note = Evernote::EDAM::Type::Note.new
42
45
  note.title = @title.empty? ? "Untitled note" : @title
43
46
  note.tagNames = @tags unless @tags.empty?
44
47
  note.content = note_markup(markdown)
45
- created_note = note_store.createNote(@configuration[:token], note)
48
+ created_note = note_store.createNote(@configuration['token'], note)
46
49
  say "Successfully created new note '#{created_note.title}'"
47
50
  rescue Evernote::EDAM::Error::EDAMSystemException,
48
51
  Evernote::EDAM::Error::EDAMUserException,
@@ -82,9 +85,9 @@ module EvernoteEditor
82
85
  return if choice.nil?
83
86
 
84
87
  begin
85
- evn_client = EvernoteOAuth::Client.new(token: @configuration[:token], sandbox: @sandbox)
88
+ evn_client = EvernoteOAuth::Client.new(token: @configuration['token'], sandbox: @sandbox)
86
89
  note_store = evn_client.note_store
87
- note = note_store.getNote(@configuration[:token], choice, true, true, false, false)
90
+ note = note_store.getNote(@configuration['token'], choice, true, true, false, false)
88
91
  rescue Evernote::EDAM::Error::EDAMSystemException,
89
92
  Evernote::EDAM::Error::EDAMUserException,
90
93
  Evernote::EDAM::Error::EDAMNotFoundException => e
@@ -97,7 +100,7 @@ module EvernoteEditor
97
100
  note.updated = Time.now.to_i * 1000
98
101
 
99
102
  begin
100
- note_store.updateNote(@configuration[:token], note)
103
+ note_store.updateNote(@configuration['token'], note)
101
104
  say "Successfully updated note '#{note.title}'"
102
105
  rescue Evernote::EDAM::Error::EDAMSystemException,
103
106
  Evernote::EDAM::Error::EDAMUserException,
@@ -110,15 +113,15 @@ module EvernoteEditor
110
113
 
111
114
  def search_notes(term = '')
112
115
  begin
113
- evn_client = EvernoteOAuth::Client.new(token: @configuration[:token], sandbox: @sandbox)
116
+ evn_client = EvernoteOAuth::Client.new(token: @configuration['token'], sandbox: @sandbox)
114
117
  note_store = evn_client.note_store
115
118
  note_filter = Evernote::EDAM::NoteStore::NoteFilter.new
116
119
  note_filter.words = term
117
- results = note_store.findNotes(@configuration[:token], note_filter, 0, 10).notes
120
+ results = note_store.findNotes(@configuration['token'], note_filter, 0, 10).notes
118
121
  rescue Evernote::EDAM::Error::EDAMSystemException,
119
122
  Evernote::EDAM::Error::EDAMUserException,
120
123
  Evernote::EDAM::Error::EDAMNotFoundException => e
121
- say "Sorry, an error occurred saving the note to Evernote (#{e.message})"
124
+ say "Sorry, an error occurred communicating with Evernote (#{e.inspect})"
122
125
  false
123
126
  end
124
127
 
@@ -144,13 +147,13 @@ module EvernoteEditor
144
147
  end
145
148
 
146
149
  def open_editor(file_path)
147
- cmd = [@configuration[:editor], blocking_flag, file_path].join(' ')
150
+ cmd = [@configuration['editor'], blocking_flag, file_path].join(' ')
148
151
  system(cmd) or raise SystemCallError, "`#{cmd}` gave exit status: #{$?.exitstatus}"
149
152
  end
150
153
 
151
154
  # Patterned from Pry
152
155
  def blocking_flag
153
- case File.basename(@configuration[:editor])
156
+ case File.basename(@configuration['editor'])
154
157
  when /^[gm]vim/
155
158
  '--nofork'
156
159
  when /^jedit/
@@ -165,19 +168,19 @@ module EvernoteEditor
165
168
  say "You will need a developer token to use this editor."
166
169
  say "More information: http://dev.evernote.com/start/core/authentication.php#devtoken"
167
170
  token = ask("Please enter your developer token: ") { |q| q.default = "none" }
168
- @configuration[:token] = token
171
+ @configuration['token'] = token
169
172
  write_configuration
170
173
  end
171
174
 
172
175
  def store_editor
173
176
  editor_command = ask("Please enter the editor command you would like to use: ") { |q| q.default = `which vim`.strip.chomp }
174
- @configuration[:editor] = editor_command
177
+ @configuration['editor'] = editor_command
175
178
  write_configuration
176
179
  end
177
180
 
178
181
  def write_configuration
179
182
  File.open(CONFIGURATION_FILE, "w") do |file|
180
- file.write @configuration.to_yaml
183
+ file.write @configuration.to_json
181
184
  end
182
185
  end
183
186
 
@@ -1,3 +1,3 @@
1
1
  module EvernoteEditor
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -44,14 +44,14 @@ describe EvernoteEditor::Editor do
44
44
  enved.stub(:ask).with(/token/).and_return('123')
45
45
  enved.stub(:ask).with(/editor/).and_return('vim')
46
46
  enved.configure
47
- YAML::load(File.open(File.expand_path("~/.evned")))[:token].should eq "123"
47
+ JSON::load(File.open(File.expand_path("~/.evned")))['token'].should eq "123"
48
48
  end
49
49
 
50
50
  it "stores the editor path" do
51
51
  enved.stub(:ask).with(/token/).and_return('123')
52
52
  enved.stub(:ask).with(/editor/).and_return('vim')
53
53
  enved.configure
54
- YAML::load(File.open(File.expand_path("~/.evned")))[:editor].should eq "vim"
54
+ JSON::load(File.open(File.expand_path("~/.evned")))['editor'].should eq "vim"
55
55
  end
56
56
 
57
57
  end
@@ -76,7 +76,7 @@ describe EvernoteEditor::Editor do
76
76
 
77
77
  before do
78
78
  File.open(File.expand_path("~/.evned"), 'w') do |f|
79
- f.write( { foo: '123', editor: 'vim' }.to_yaml )
79
+ f.write( { foo: '123', editor: 'vim' }.to_json )
80
80
  end
81
81
  end
82
82
 
@@ -89,7 +89,7 @@ describe EvernoteEditor::Editor do
89
89
  it "rewrites the configuration file" do
90
90
  enved.should_receive(:ask).with(/token/).and_return('123')
91
91
  enved.configure
92
- YAML::load(File.open(File.expand_path("~/.evned")))[:token].should eq "123"
92
+ JSON::load(File.open(File.expand_path("~/.evned")))['token'].should eq "123"
93
93
  end
94
94
 
95
95
  end
@@ -9,7 +9,7 @@ RSpec.configure do |config|
9
9
 
10
10
  def write_fakefs_config
11
11
  File.open(File.expand_path("~/.evned"), 'w') do |f|
12
- f.write( { token: '123', editor: 'vim' }.to_yaml )
12
+ f.write( { token: '123', editor: 'vim' }.to_json )
13
13
  end
14
14
  end
15
15
  end
metadata CHANGED
@@ -1,36 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evernote-editor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 0.1.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - hpoydar
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-24 00:00:00.000000000 Z
11
+ date: 2013-10-15 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: evernote_oauth
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 0.1.6
19
+ version: 0.2.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 0.1.6
26
+ version: 0.2.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: highline
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: redcarpet
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: reverse_markdown
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: fakefs
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rake
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ~>
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rspec
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -147,27 +132,26 @@ files:
147
132
  - spec/spec_helper.rb
148
133
  homepage: https://github.com/hpoydar/evernote-editor
149
134
  licenses: []
135
+ metadata: {}
150
136
  post_install_message:
151
137
  rdoc_options: []
152
138
  require_paths:
153
139
  - lib
154
140
  required_ruby_version: !ruby/object:Gem::Requirement
155
- none: false
156
141
  requirements:
157
- - - ! '>='
142
+ - - '>='
158
143
  - !ruby/object:Gem::Version
159
144
  version: '0'
160
145
  required_rubygems_version: !ruby/object:Gem::Requirement
161
- none: false
162
146
  requirements:
163
- - - ! '>='
147
+ - - '>='
164
148
  - !ruby/object:Gem::Version
165
149
  version: '0'
166
150
  requirements: []
167
151
  rubyforge_project:
168
- rubygems_version: 1.8.23
152
+ rubygems_version: 2.0.3
169
153
  signing_key:
170
- specification_version: 3
154
+ specification_version: 4
171
155
  summary: Command line creation and editing of Evernote notes
172
156
  test_files:
173
157
  - spec/evernote_editor/editor_spec.rb