middleman-amazon-link 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: 26088022d578742403b79f05e6821b9837a0f80b
4
- data.tar.gz: 445a4171c780a95dfcdd980b9eb88c297c087a93
3
+ metadata.gz: e005586fdd6f40d6993e9e5b06224bad22066fc7
4
+ data.tar.gz: 109a462a3490ddfa54c9d8ec0934be48f505d2b7
5
5
  SHA512:
6
- metadata.gz: 706aea55b09ebe7e66af82e8b7ba1fc9daa9ec5929f262678b8468afe522de3a1dcacc5c76a3049c64f67fa622d9e7cf2f92cdf3509570e3fbbaa94622f80225
7
- data.tar.gz: 5cdc5e8e04cfc1b4ac13a6d653497efe93684ee3309bd69eaa932b5652a110a20e6e0bcdbe5f9d585ae7d19ef519cf24277139602938d1f710beab32b40f5398
6
+ metadata.gz: 05fafe3ecd90c3d7b10df449d3ceb419998b17bf804e2396d21ee3b020dbc64b64146b0edee144c8ef4a37072e15a4cbdb148864ac7846a234f1fb90dc21f5a6
7
+ data.tar.gz: f8837bcb4a9efc0f351329b7dad4b5ff1d94f453426e72185ab5f9fde7b5bee9bd9e4f49d9be071bccb5f0a03e1cfdbdd561f3343ae6ef5e38d8cec648a99660
data/.gitignore CHANGED
@@ -13,3 +13,4 @@
13
13
  *.a
14
14
  mkmf.log
15
15
  *~
16
+ .env
@@ -0,0 +1,12 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 2.2
5
+ script: bundle exec rake test
6
+ env:
7
+ matrix:
8
+ - TEST=true
9
+ global:
10
+ - secure: NFAAe8UGi2lm5b2Xg1qoKwqw+vNFAKKzkJdHP7biTqietI6hqZhI1TBycHZ8xBESZtN07AsFy3oTuLNj9S4ESstxncOzJM4beI5BJjlBwGDxoyrqFXn1FTpzp382M3YBv4MWmetRCSC6CXdAhJV2muhoBAm+aLt7dr8PyDsAJAc=
11
+ - secure: Y01Smkurjpoe0AzVTbFCW9y94vyLfUKIN7eHHGAnFlg9EG4028BOJOyKY43qOYyJLbOzDxJEo65kzbu5Io1Ezje90qgtr/lJIylirY8rEqOXQbcit1DW97XuilWn38DMHbeoqZ7tkslWIbDlGMy7GhHS9MkNg2eUOT888gGxPAI=
12
+ - secure: bJ58QDr0MJ4CNgC2prqxAOMVY9LoxOhM6OwG5Eb7Rog9chyMHw+2H3ocuOdoV/N9TuKCdP26HYZSpfgJinqecN2+ToXL1ThualpJjkI881oWW8bQbR2eOrYrbdLq38Vv5VTEc+XCLJibtlvQ9+RnBQSs943/LiJdgEX8accKl9Y=
@@ -0,0 +1,7 @@
1
+ ## master
2
+
3
+ ### 0.0.4
4
+
5
+ * released 2015-4-18
6
+ * キャッシュディレクトリがなければ作るように
7
+ * travis test 用に aws keys を encrypt して入れる
data/Gemfile CHANGED
@@ -2,3 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in middleman-amazon-link.gemspec
4
4
  gemspec
5
+
6
+ # Code Quality
7
+ gem "cane", :platforms => [:mri_19, :mri_20], :require => false
8
+ gem 'coveralls', :require => false
data/README.md CHANGED
@@ -1,3 +1,9 @@
1
+ [![Gem Version](http://img.shields.io/gem/v/middleman-amazon-link.svg?style=flat)](gem)
2
+ [![Build Status](https://travis-ci.org/atarukodaka/middleman-amazon-link.svg)](https://travis-ci.org/atarukodaka/middleman-amazon-link)
3
+ [![Coverage Status](https://coveralls.io/repos/atarukodaka/middleman-amazon-link/badge.svg)](https://coveralls.io/r/atarukodaka/middleman-amazon-link)
4
+ [![Code Climate](https://codeclimate.com/github/atarukodaka/middleman-amazon-link/badges/gpa.svg)](https://codeclimate.com/github/atarukodaka/middleman-amazon-link)
5
+
6
+
1
7
  # middleman-amazon-link
2
8
 
3
9
 
@@ -19,11 +25,11 @@ extension that generates links to amazon on products specified.
19
25
  ```ruby
20
26
  # config.rb
21
27
  activate :amazon_link do |amazon|
22
- amazon.aws_access_key_id = "xxxx"
28
+ amazon.associate_tag = "xxxx-22"
29
+ amazon.aws_access_key_id = "xxxx"
23
30
  amazon.aws_secret_key = "xxx"
24
31
 
25
32
  # optional below
26
- amazon.associate_tag = "xxxx-22"
27
33
  amazon.country = "jp"
28
34
  amazon.use_cache = true
29
35
  amazon.cache_dir = ".cache/amazon"
data/Rakefile CHANGED
@@ -1,2 +1,21 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rake/clean'
2
3
 
4
+ require 'cucumber/rake/task'
5
+ require 'middleman-core'
6
+
7
+ Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
8
+ ENV["TEST"] = "true"
9
+
10
+ exempt_tags = ""
11
+ exempt_tags << "--tags ~@nojava " if RUBY_PLATFORM == "java"
12
+ exempt_tags << "--tags ~@three_one " unless ::Middleman::VERSION.match(/^3\.1\./)
13
+
14
+ t.cucumber_opts = "--color --tags ~@wip #{exempt_tags} --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
15
+ end
16
+
17
+ require 'rake/clean'
18
+
19
+ desc "Run tests, both RSpec and Cucumber"
20
+ #task :test => [:spec, :cucumber]
21
+ task :test => [:cucumber]
@@ -0,0 +1,17 @@
1
+ Feature: basic
2
+ Scenario: amazon
3
+ Given a fixture app "basic-app"
4
+ And the Server is running at "basic-app"
5
+ When I go to "/index.html"
6
+ Then I should see:
7
+ """
8
+ <a href="http://www.amazon.co.jp/Kalita-%E3%82%AB%E3%83%AA%E3%82%BF-%E3%83%9F%E3%83%8B%E3%83%9F%E3%83%AB/dp/B0006BLI1I%3FSubscriptionId%3DAKIAJUDCZXLDLISYWRHQ%26tag%3Dmyhoney0079-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0006BLI1I" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41Q9QV8A60L._SL160_.jpg">
9
+ """
10
+
11
+ ## access twice for caching
12
+ When I go to "/index.html"
13
+ Then I should see:
14
+ """
15
+ <a href="http://www.amazon.co.jp/Kalita-%E3%82%AB%E3%83%AA%E3%82%BF-%E3%83%9F%E3%83%8B%E3%83%9F%E3%83%AB/dp/B0006BLI1I%3FSubscriptionId%3DAKIAJUDCZXLDLISYWRHQ%26tag%3Dmyhoney0079-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0006BLI1I" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41Q9QV8A60L._SL160_.jpg">
16
+ """
17
+
@@ -0,0 +1,24 @@
1
+ ENV["TEST"] = "true"
2
+ ENV["AUTOLOAD_SPROCKETS"] = "false"
3
+
4
+ require 'simplecov'
5
+ SimpleCov.start do
6
+ add_filter "/features/"
7
+ end
8
+
9
+ require 'pry-byebug'
10
+ require 'dotenv'
11
+ Dotenv.load
12
+ #binding.pry
13
+
14
+ require 'coveralls'
15
+
16
+ Coveralls.wear!
17
+
18
+
19
+ PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
20
+ require 'middleman-core'
21
+ require 'middleman-core/step_definitions'
22
+ require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-amazon-link')
23
+
24
+
@@ -0,0 +1,10 @@
1
+ activate :amazon_link do |amazon|
2
+ amazon.associate_tag = ENV['ASSOCIATE_TAG']
3
+ amazon.aws_access_key_id = ENV['AWS_ACCESS_KEY_ID']
4
+ amazon.aws_secret_key = ENV['AWS_SECRET_KEY']
5
+
6
+ amazon.country = "jp"
7
+ amazon.use_cache = true
8
+ amazon.cache_dir = ".cache/amazon"
9
+ end
10
+
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Top
3
+ ---
4
+
5
+
6
+ <%= amazon("B0006BLI1I", :detail) %>
7
+
@@ -1,3 +1,5 @@
1
+ require 'amazon/ecs'
2
+
1
3
  module Middleman
2
4
  module AmazonLink
3
5
  class EcsLookupWrapper
@@ -65,6 +67,9 @@ module Middleman
65
67
  Marshal.load(File.read(cache_filename(asin)))
66
68
  end
67
69
  def save_cache(asin, hash)
70
+ dir = File.dirname(cache_filename(asin))
71
+ require 'fileutils'
72
+ FileUtils.mkdir_p(dir) unless File.exists?(dir)
68
73
  File.open(cache_filename(asin), 'wb'){|f| f.write(Marshal.dump(hash))}
69
74
  end
70
75
  end
@@ -16,8 +16,6 @@ module Middleman
16
16
  </div>)
17
17
  }
18
18
  def amazon(asin, type_or_string = :detail)
19
- #binding.pry
20
-
21
19
  amazon_opts = amazon_link_settings
22
20
  ecs_opt = {
23
21
  associate_tag: amazon_opts.associate_tag,
@@ -29,8 +27,9 @@ module Middleman
29
27
  use_cache: amazon_opts.use_cache,
30
28
  cache_dir: amazon_opts.cache_dir
31
29
  }
30
+ #binding.pry
32
31
  amazon_lookup = Middleman::AmazonLink::EcsLookupWrapper.new(ecs_opt, opt)
33
- hash = amazon_lookup.item_lookup(asin)
32
+ hash = amazon_lookup.item_lookup(asin) || {}
34
33
 
35
34
  if block_given?
36
35
  yield(hash)
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module AmazonLink
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
@@ -21,4 +21,11 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'amazon-ecs', '~> 2.3'
22
22
  spec.add_development_dependency "bundler", "~> 1.7"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "cucumber", "~> 1.3"
25
+ spec.add_development_dependency "aruba", "~> 0.6"
26
+ spec.add_development_dependency "therubyracer", "~>0.12"
27
+ spec.add_development_dependency "pry-byebug", "~>3.1"
28
+ spec.add_development_dependency "rb-readline", "~>0.5"
29
+ spec.add_development_dependency "middleman-pry", "~>0.0"
30
+ spec.add_development_dependency "dotenv", "~>0.0"
24
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-amazon-link
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
  - Ataru Kodaka
@@ -52,6 +52,104 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: cucumber
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: aruba
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.6'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: therubyracer
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.12'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.12'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-byebug
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.1'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.1'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rb-readline
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.5'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.5'
125
+ - !ruby/object:Gem::Dependency
126
+ name: middleman-pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: dotenv
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '0.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '0.0'
55
153
  description: helprs provided such as amazon(asin, :detail)
56
154
  email:
57
155
  - ataru.kodaka@gmail.com
@@ -60,10 +158,16 @@ extensions: []
60
158
  extra_rdoc_files: []
61
159
  files:
62
160
  - ".gitignore"
161
+ - ".travis.yml"
162
+ - CHANGELOG.md
63
163
  - Gemfile
64
164
  - LICENSE.txt
65
165
  - README.md
66
166
  - Rakefile
167
+ - features/basic.feature
168
+ - features/support/env.rb
169
+ - fixtures/basic-app/config.rb
170
+ - fixtures/basic-app/source/index.html.erb
67
171
  - lib/middleman-amazon-link.rb
68
172
  - lib/middleman-amazon-link/ecs_wrapper.rb
69
173
  - lib/middleman-amazon-link/extension.rb
@@ -94,5 +198,7 @@ rubygems_version: 2.4.6
94
198
  signing_key:
95
199
  specification_version: 4
96
200
  summary: Middleman Extention for amazon-link.
97
- test_files: []
201
+ test_files:
202
+ - features/basic.feature
203
+ - features/support/env.rb
98
204
  has_rdoc: