leaflet-draw-rails 0.0.1 → 0.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,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 090c4225c50ddef5a858e995dea07465a9b13f98
4
- data.tar.gz: 01e96502817498c296f20764caaf52a620ee8ed5
3
+ metadata.gz: a1aa642a71b8ffce8bce3bde613fd4febf946718
4
+ data.tar.gz: cc91d407e49c400d8a1a12000b10ea9dda79c833
5
5
  SHA512:
6
- metadata.gz: d7bd26f298285350544b8683e4d86d1dd94e13e33e756d1b0fa0e749f75f2074366ce83795fd6b06542c23946777b063037b590b325610938a79d02ba60c8339
7
- data.tar.gz: 2ae5bd85ff0ca118466bd9b1e485e8bab5d3c574287ddf26d09d7ad5486c0d0ccaa34d7036b4cbdd393ab630c402b1fff8d304ee0c735d9ae999cc9667a1eb2b
6
+ metadata.gz: 8b4b380870bc65f096e231bc78ff7a381fccae76b51f97da01828958c5172b6f0b3a104ea5e0ed4fb847ac61a9ac66cb6486d90edf0938064e49809106e840d0
7
+ data.tar.gz: 2f8d768287e5afd1ee80fa1984a55aa11ed8d8aa40879149f97729a42c88a9b6dc2075d744590496d7147f5415e425b465a86e3800c8a1fdb88fcdb41f386aa6
data/Rakefile CHANGED
@@ -4,20 +4,15 @@ rescue LoadError
4
4
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
5
  end
6
6
 
7
- require 'rdoc/task'
8
-
9
- RDoc::Task.new(:rdoc) do |rdoc|
10
- rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'LeafletDrawRails'
12
- rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
14
- rdoc.rdoc_files.include('lib/**/*.rb')
15
- end
16
-
17
-
18
-
7
+ begin
8
+ require 'rspec/core/rake_task'
9
+ require 'cucumber/rake/task'
19
10
 
11
+ RSpec::Core::RakeTask.new(:spec)
12
+ Cucumber::Rake::Task.new
20
13
 
14
+ task default: [ :spec, :cucumber ]
15
+ rescue LoadError
16
+ end
21
17
 
22
18
  Bundler::GemHelper.install_tasks
23
-
@@ -1,9 +1,23 @@
1
1
  require "leaflet-draw-rails/version"
2
+ require "leaflet-draw-rails/testing"
3
+
4
+ if defined? RSpec
5
+ RSpec.configure do |spec|
6
+ spec.include Leaflet::Draw::Rails::Testing
7
+ end
8
+ end
9
+
10
+ if respond_to? :World
11
+ World Leaflet::Draw::Rails::Testing
12
+ end
2
13
 
3
14
  module Leaflet
4
15
  module Draw
5
16
  module Rails
6
17
  class Engine < ::Rails::Engine
18
+ initializer 'leaflet-draw-rails.assets.precompile' do |app|
19
+ app.config.assets.precompile += %w(images/spritesheet.png images/spritesheet-2x.png)
20
+ end
7
21
  end
8
22
  end
9
23
  end
@@ -0,0 +1,43 @@
1
+ module Leaflet::Draw
2
+ module Rails::Testing
3
+ class Browser
4
+ def initialize(el)
5
+ @el = el
6
+ end
7
+
8
+ def move_to(x, y)
9
+ action.move_to(native).move_by(*correct_point(x, y)).perform
10
+ end
11
+
12
+ def click(x, y)
13
+ move_to(x, y)
14
+ action.click_and_hold.perform
15
+ action.release.perform
16
+ end
17
+
18
+ def click_and_hold
19
+ action.click_and_hold.perform
20
+ end
21
+
22
+ def release
23
+ action.release.perform
24
+ end
25
+
26
+ private
27
+
28
+ def correct_point(x, y)
29
+ x_offset = native.size.width / 2
30
+ y_offset = native.size.height / 2
31
+ [ x - x_offset, y - y_offset ]
32
+ end
33
+
34
+ def action
35
+ @el.send(:driver).browser.action
36
+ end
37
+
38
+ def native
39
+ @el.native
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Circle < Shape
8
+
9
+ def draw!
10
+ @browser.move_to(*@points.first)
11
+ @browser.click_and_hold
12
+ @browser.move_to(*@points.second)
13
+ @browser.release
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Marker < Shape
8
+
9
+ def draw!
10
+ @browser.click(*@points)
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Polygon < Shape
8
+
9
+ def draw!
10
+ @points.each do |x, y|
11
+ @browser.click(x, y)
12
+ end
13
+ @browser.click(*@points.first)
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Polyline < Shape
8
+
9
+ def draw!
10
+ @points.each do |x, y|
11
+ @browser.click(x, y)
12
+ end
13
+ @browser.click(*@points.last)
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Rectangle < Shape
8
+
9
+ def draw!
10
+ @browser.move_to(*@points.first)
11
+ @browser.click_and_hold
12
+ @browser.move_to(*@points.second)
13
+ @browser.release
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,33 @@
1
+ require 'leaflet-draw-rails/browser'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Shape
8
+
9
+ def initialize(points)
10
+ @points = points
11
+ end
12
+
13
+ def on(map)
14
+ @map = map
15
+ @browser = Browser.new(@map)
16
+
17
+ choose_tool!
18
+ draw!
19
+ end
20
+
21
+ private
22
+
23
+ def choose_tool!
24
+ @map.find(tool_selector).click
25
+ end
26
+
27
+ def tool_selector
28
+ class_name = self.class.to_s.split('::').last
29
+ ".leaflet-draw-draw-#{ class_name.downcase }"
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,31 @@
1
+ require 'leaflet-draw-rails/marker'
2
+ require 'leaflet-draw-rails/polyline'
3
+ require 'leaflet-draw-rails/polygon'
4
+ require 'leaflet-draw-rails/rectangle'
5
+ require 'leaflet-draw-rails/circle'
6
+
7
+ module Leaflet
8
+ module Draw
9
+ module Rails::Testing
10
+ def leaflet_draw_marker(points)
11
+ Marker.new(points)
12
+ end
13
+
14
+ def leaflet_draw_polyline(points)
15
+ Polyline.new(points)
16
+ end
17
+
18
+ def leaflet_draw_polygon(points)
19
+ Polygon.new(points)
20
+ end
21
+
22
+ def leaflet_draw_rectangle(points)
23
+ Rectangle.new(points)
24
+ end
25
+
26
+ def leaflet_draw_circle(points)
27
+ Circle.new(points)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,7 +1,7 @@
1
1
  module Leaflet
2
2
  module Draw
3
3
  module Rails
4
- VERSION = "0.0.1"
4
+ VERSION = "0.1.0"
5
5
  end
6
6
  end
7
7
  end
@@ -23,12 +23,12 @@
23
23
  }
24
24
 
25
25
  .leaflet-draw-toolbar a {
26
- background-image: url('images/spritesheet.png');
26
+ background-image: url(<%= asset_path 'images/spritesheet.png' %>);
27
27
  background-repeat: no-repeat;
28
28
  }
29
29
 
30
30
  .leaflet-retina .leaflet-draw-toolbar a {
31
- background-image: url('images/spritesheet-2x.png');
31
+ background-image: url(<%= asset_path 'images/spritesheet-2x.png' %>);
32
32
  background-size: 270px 30px;
33
33
  }
34
34
 
@@ -300,4 +300,4 @@
300
300
 
301
301
  .leaflet-oldie .leaflet-draw-toolbar {
302
302
  border: 1px solid #999;
303
- }
303
+ }
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leaflet-draw-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Drozdov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-05 00:00:00.000000000 Z
11
+ date: 2015-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>'
18
- - !ruby/object:Gem::Version
19
- version: '3'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>'
25
- - !ruby/object:Gem::Version
26
- version: '3'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: sqlite3
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +80,48 @@ dependencies:
94
80
  - - '>='
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: cucumber-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 1.4.2
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 1.4.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: database_cleaner
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 1.4.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 1.4.1
97
125
  description:
98
126
  email:
99
127
  - iharthrush@gmail.com
@@ -101,12 +129,20 @@ executables: []
101
129
  extensions: []
102
130
  extra_rdoc_files: []
103
131
  files:
132
+ - lib/leaflet-draw-rails/browser.rb
133
+ - lib/leaflet-draw-rails/circle.rb
134
+ - lib/leaflet-draw-rails/marker.rb
135
+ - lib/leaflet-draw-rails/polygon.rb
136
+ - lib/leaflet-draw-rails/polyline.rb
137
+ - lib/leaflet-draw-rails/rectangle.rb
138
+ - lib/leaflet-draw-rails/shape.rb
139
+ - lib/leaflet-draw-rails/testing.rb
104
140
  - lib/leaflet-draw-rails/version.rb
105
141
  - lib/leaflet-draw-rails.rb
106
142
  - vendor/assets/images/images/spritesheet-2x.png
107
143
  - vendor/assets/images/images/spritesheet.png
108
144
  - vendor/assets/javascripts/leaflet.draw.js
109
- - vendor/assets/stylesheets/leaflet.draw.css
145
+ - vendor/assets/stylesheets/leaflet.draw.css.erb
110
146
  - MIT-LICENSE
111
147
  - Rakefile
112
148
  homepage: