everlog 0.0.3 → 0.0.4

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: 593aadef0699ed990c3a8169046423de22afe5d7
4
- data.tar.gz: 4408157735df19b6e45ebe685e978abe84eb1533
3
+ metadata.gz: d79084fcdd5b08672341998b58a2995c17f7baff
4
+ data.tar.gz: 7a728cb089abda88a9067de09d8fa810301215ef
5
5
  SHA512:
6
- metadata.gz: dc7ad61e373a7d3c6a59e20b3d4027dadc381f0c81ab675af5f5c4a7f11edf8d9b702036eec534495fa73fefc3ecb4c5fb34ff49d260b42256cd73429bffd269
7
- data.tar.gz: d40da3484d3cd79be9056414fe72e6081ac483abca5876d15caf8a04b4353a56473785e774b3d560b63e72da3f532a32c152a6f3710e384b922cac732241a0e3
6
+ metadata.gz: 77135165dd82d6166843e0f734cee8856cbb5ed82f048f832b7bda36bbeb87abcadd534fd75852093b65b4f70abfd786bf6522dad95cb259e75989ca417a631f
7
+ data.tar.gz: db68b5979b7dc0b2ae0e410e287893a69da40071d5a05cfb46c703841b5b7da9bb1f8ff5a7620e7931f50d92b7e20024738ac82d2bcaec66a995b910d1dd3cea
@@ -19,8 +19,6 @@ class Everlog
19
19
 
20
20
  def publish(title, access_token, output)
21
21
  return @content.render if output == 'local'
22
- raise EverlogConfigError, 'evernote access_token not given' if access_token.nil?
23
-
24
22
  Config.evernote.access_secret = access_token
25
23
  Dom::Module::Evernote.publish(title, @content.render, output)
26
24
  ensure
@@ -36,6 +34,4 @@ class Everlog
36
34
  end
37
35
  end
38
36
  end
39
-
40
- class EverlogConfigError < StandardError; end
41
37
  end
@@ -5,10 +5,32 @@ class Everlog
5
5
  THIRD_PARTY.each do |service|
6
6
  const_set service.capitalize, Class.new {
7
7
  class << self
8
- attr_accessor :consumer_key
9
- attr_accessor :consumer_secret
10
- attr_accessor :access_token
11
- attr_accessor :access_secret
8
+ attr_writer :consumer_key
9
+ attr_writer :consumer_secret
10
+ attr_writer :access_token
11
+ attr_writer :access_secret
12
+
13
+ def message
14
+ service_name = self.name.split('::').last.downcase
15
+ required_param = caller()[0].match(/`.*'?/).to_s.delete('`\'')
16
+ "#{service_name} #{required_param} is requried."
17
+ end
18
+
19
+ def consumer_key
20
+ @consumer_key.nil? ? raise(Everlog::DomainConfigError, message) : @consumer_key
21
+ end
22
+
23
+ def consumer_secret
24
+ @consumer_secret.nil? ? raise(Everlog::DomainConfigError, message) : @consumer_secret
25
+ end
26
+
27
+ def access_token
28
+ @access_token.nil? ? raise(Everlog::DomainConfigError, message) : @access_token
29
+ end
30
+
31
+ def access_secret
32
+ @access_secret.nil? ? raise(Everlog::DomainConfigError, message) : @access_secret
33
+ end
12
34
  end
13
35
  }
14
36
  end
@@ -27,4 +49,6 @@ class Everlog
27
49
  end
28
50
  end
29
51
  end
52
+
53
+ class DomainConfigError < StandardError; end
30
54
  end
@@ -1,14 +1,16 @@
1
1
  class Everlog
2
2
  class Dom::Module::Animetick < Dom::Module
3
- def self.fetch_since date
4
- config = Dom::Entity::Config.animetick
5
- api_response = Inf::Api::Animetick.new(config).ticket_list
3
+ def ticket_list
4
+ Inf::Api::Animetick.new(@config).ticket_list
5
+ end
6
6
 
7
- tickets = api_response.map do |r|
8
- ticket = Dom::Value::Animetick.new(r)
9
- ticket.updated_at > date ? ticket : nil
7
+ class << self
8
+ def fetch_since date
9
+ self.new.ticket_list.map do |r|
10
+ ticket = Dom::Value::Animetick.new(r)
11
+ ticket.updated_at > date ? ticket : nil
12
+ end.compact
10
13
  end
11
- tickets.compact
12
14
  end
13
15
  end
14
16
  end
@@ -1,9 +1,19 @@
1
1
  class Everlog
2
2
  class Dom::Module::Evernote < Dom::Module
3
- def self.publish(title, content, output)
4
- config = Dom::Entity::Config.evernote
5
- is_sandbox = output != 'production'
6
- Dom::Repository::Evernote.new(is_sandbox, config).save(title, content)
3
+ def initialize is_sandbox
4
+ @is_sandbox = is_sandbox
5
+ super()
6
+ end
7
+
8
+ def save(title, content)
9
+ Dom::Repository::Evernote.new(@is_sandbox, @config).save(title, content)
10
+ end
11
+
12
+ class << self
13
+ def publish(title, content, output)
14
+ is_sandbox = output != 'production'
15
+ self.new(is_sandbox).save(title, content)
16
+ end
7
17
  end
8
18
  end
9
19
  end
@@ -1,13 +1,16 @@
1
1
  class Everlog
2
2
  class Dom::Module::Hatena < Dom::Module
3
- def self.fetch_since date
4
- config = Dom::Entity::Config.hatena
5
- api_response = Inf::Api::Hatena.new(config).feed_entry
6
- bookmarks = api_response.map do |r|
7
- feed = Dom::Value::Hatena.new(r)
8
- feed.issued > date ? feed : nil
3
+ def feed_entry
4
+ Inf::Api::Hatena.new(@config).feed_entry
5
+ end
6
+
7
+ class << self
8
+ def fetch_since date
9
+ self.new.feed_entry.map do |r|
10
+ feed = Dom::Value::Hatena.new(r)
11
+ feed.issued > date ? feed : nil
12
+ end.compact
9
13
  end
10
- bookmarks.compact
11
14
  end
12
15
  end
13
16
  end
@@ -1,9 +1,5 @@
1
1
  class Everlog
2
2
  class Dom::Module::Moves < Dom::Module
3
- def initialize config
4
- @config = config
5
- end
6
-
7
3
  def api_client
8
4
  @api_client ||= Inf::Api::Moves.new(@config)
9
5
  end
@@ -26,7 +22,7 @@ class Everlog
26
22
  class << self
27
23
  # date対応してない
28
24
  def fetch_since date
29
- instance = self.new(Dom::Entity::Config.moves)
25
+ instance = self.new
30
26
  { summary: instance.summary, storyline: instance.storyline }
31
27
  end
32
28
  end
@@ -1,10 +1,14 @@
1
1
  class Everlog
2
2
  class Dom::Module::Twitter < Dom::Module
3
- def self.fetch_since date
4
- config = Dom::Entity::Config.twitter
5
- api_response = Inf::Api::Twitter.new(config).timeline
6
- tweets = api_response.map { |r| Dom::Value::Twitter.new(r) if r.created_at > date }
7
- tweets.compact.reverse
3
+ def timeline
4
+ Inf::Api::Twitter.new(@config).timeline
5
+ end
6
+
7
+ class << self
8
+ def fetch_since date
9
+ tweets = self.new.timeline.map { |r| Dom::Value::Twitter.new(r) if r.created_at > date }
10
+ tweets.compact.reverse
11
+ end
8
12
  end
9
13
  end
10
14
  end
@@ -1,9 +1,14 @@
1
1
  class Everlog
2
2
  class Dom::Module::Weather < Dom::Module
3
- def self.fetch_since(date)
4
- config = Dom::Entity::Config.weather
5
- api_response = Inf::Api::Wunderground.new(config).yesterday('Tokyo')
6
- Dom::Value::Weather.new(api_response)
3
+ def yesterday
4
+ Inf::Api::Wunderground.new(@config).yesterday('Tokyo')
5
+ end
6
+
7
+ class << self
8
+ def fetch_since(date)
9
+ api_response = self.new.yesterday
10
+ Dom::Value::Weather.new(api_response)
11
+ end
7
12
  end
8
13
  end
9
14
  end
@@ -7,5 +7,10 @@ class Everlog
7
7
  require 'everlog/dom/module/animetick'
8
8
  require 'everlog/dom/module/weather'
9
9
  require 'everlog/dom/module/evernote'
10
+
11
+ def initialize
12
+ service = self.class.name.split('::').last.downcase
13
+ @config = Dom::Entity::Config.send(service)
14
+ end
10
15
  end
11
16
  end
@@ -1,3 +1,3 @@
1
1
  class Everlog
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -5,18 +5,20 @@ describe Everlog::Dom::Entity::Config do
5
5
 
6
6
  context 'normal' do
7
7
  it do
8
- expect(subject.twitter.access_token).to be_nil
9
8
  expect { subject.twitter.access_token = 'hoge' }.not_to raise_error
10
9
  expect(subject.twitter.access_token).to eq 'hoge'
11
10
  subject.evernote.access_token = 'fuga'
12
11
  subject.clear!
13
- expect(subject.twitter.access_token).to be_nil
14
- expect(subject.evernote.access_token).to be_nil
12
+ expect { subject.twitter.access_token }.to raise_error Everlog::DomainConfigError
13
+ expect { subject.evernote.access_token }.to raise_error Everlog::DomainConfigError
15
14
  end
16
15
  end
17
16
 
18
17
  context 'abnormal' do
19
18
  it { expect { subject.invalid_service.access_token }.to raise_error NoMethodError }
20
19
  it { expect { subject.twitter.invalid_method }.to raise_error NoMethodError }
20
+ it 'raise configure error when value is nil' do
21
+ expect { subject.twitter.consumer_key }.to raise_error(Everlog::DomainConfigError, /twitter consumer_key/)
22
+ end
21
23
  end
22
24
  end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe Everlog::Dom::Module::Moves do
4
4
  let(:instance) do
5
- described_class.new(double('config', access_secret: ENV['moves_access_token']))
5
+ described_class.new
6
6
  end
7
7
 
8
8
  describe '#storyline' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everlog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - gong023
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-05 00:00:00.000000000 Z
11
+ date: 2014-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evernote_oauth