mercator_bechlem 0.0.1 → 0.1

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: 08f1ee4bf9cf90571f61c820d7289b1970c8ae25
4
- data.tar.gz: e8549552cd438d36e4bd415d4c3f9ffcb075cd55
3
+ metadata.gz: 7b418be9994e520a58f4ba2e64cdaa5965ec15cf
4
+ data.tar.gz: fa7c14413c5c0a58e3bd328aec3dbd1934cafc77
5
5
  SHA512:
6
- metadata.gz: 00644b6b5e5080d690f32e0702921edf9dd5224e753f339ce028e5b24e5b053d73471c07b472d88ab36d4432e5efb8b3091aef2448949aa25cda883de18eb8e0
7
- data.tar.gz: 3d2ab31058fc8634fdaa9cf3bedf708dd6a759122b0521a28d5c10105253e3db97f15a9f8ed4fc068af941cef1a5cf4d8441fb8aed4f3e5f7e30d961fbfc3f14
6
+ metadata.gz: 3290318d66ce4d7dcb4dda1b8e71a285135bc8b176b6efcde40dee4ad8aadc01edec048b16f248c871d4e48c2e3f0ecf4d7b8a31892a487b6d63bc42b2514a2d
7
+ data.tar.gz: b60572d25121097cf9da268c54819fdc472b3cde3560b6ce7e766da4a234a688041d80af097de4947fe29093d19f3d9515cf4fe33ac5ccd73ec7e7fbbe49a37e
@@ -0,0 +1,59 @@
1
+ class ConsumablesController < ApplicationController
2
+
3
+ hobo_controller
4
+
5
+ def products
6
+ @printer = params[:id]
7
+ @printer ||= try_to{ MercatorBechlem::VitemPrinter.where(brand: "HP", DESCRIPTION: params[:printer]).first.IDITEM }
8
+
9
+ if @printer
10
+ icecat_products = MercatorBechlem::Vitem2item.where(IDITEM: @printer )
11
+ @printer_description = MercatorBechlem::VitemPrinter.where(IDITEM: @printer).first.DESCRIPTION
12
+ alternative_numbers = icecat_products.collect { |product| "#{product.ARTNR.gsub("\s", '')}" }.uniq
13
+ # gsub removes whitespace characters, compact removes nil elements
14
+ @products = Inventory.where(alternative_number: alternative_numbers).*.product.uniq
15
+ @active_products = @products.find_all{|product| product.state == "active" }
16
+ end
17
+ end
18
+
19
+ def printers
20
+ @printerserie = params[:id]
21
+
22
+ @printer_series = MercatorBechlem::VitemPrinter.where(brand: "HP")
23
+ .where.not(printerseries: nil)
24
+ .order(PRINTERSERIES: :asc)
25
+ @printer_series_names = @printer_series.*.PRINTERSERIES.uniq
26
+
27
+ if @printerserie == "All"
28
+ @printer_names = MercatorBechlem::VitemPrinter.where(brand: "HP")
29
+ .order(DESCRIPTION: :asc).*
30
+ .DESCRIPTION
31
+ .uniq
32
+ else
33
+ @printer_names = MercatorBechlem::VitemPrinter.where(brand: "HP", printerseries: @printerserie)
34
+ .order(DESCRIPTION: :asc).*
35
+ .DESCRIPTION.uniq
36
+ @printers = MercatorBechlem::VitemPrinter.where(brand: "HP", printerseries: @printerserie)
37
+ .select("CATEGORY, BRAND, DESCRIPTION, IDITEM")
38
+ .order(DESCRIPTION: :asc)
39
+ end
40
+ end
41
+
42
+ def category
43
+ category_id = (params[:id] == "All") ? "145200000" : params[:id]
44
+ @category = MercatorBechlem::Vcategory.where(IDCATEGORY: category_id).first
45
+ @ancestors = try_to { @category.ancestors }
46
+ @children = @category ? @category.children : MercatorBechlem::Vcategory.ivellio_top_categories
47
+
48
+ @printers = MercatorBechlem::VitemSupply.for_category_id(params[:id])
49
+
50
+ if @printers && @category && @category.parent
51
+ printer_alternative_numbers = @printers.collect { |printer| "#{printer.ARTNR.gsub("\s", '')}" }
52
+ .uniq
53
+ @products = Inventory.where(alternative_number: printer_alternative_numbers).*
54
+ .product
55
+ .uniq
56
+ @active_products = @products.find_all{|product| product.state == "active" }
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,43 @@
1
+ require 'open-uri'
2
+ require 'zip/zip'
3
+
4
+ module MercatorBechlem
5
+ class Access
6
+
7
+ attr_accessor(:user, :password, :vendor, :lang, :typ, :base_uri, :full_index_url, :daily_index_url, :open_uri_options)
8
+
9
+ USER = "MB_Daten_Ivellio-Vellin"
10
+ PASSWORD = "247r9fhs47hefe4"
11
+ URL = "ftp://" + USER + ":" + PASSWORD + "@ww2.kompashop.de/Ivellio_Vellin.zip"
12
+ DESTINATION = Rails.root.join("vendor","bechlem")
13
+ TABLES = ["BRAND", "DESCRIPTOR", "ITEM", "IDENTIFIER", "QUALIFIER", "ITEM2ITEM"]
14
+
15
+ # --- Class Methods --- #
16
+
17
+ def self.download_index
18
+
19
+ io = open( URL, {"Accept-Encoding" => "gzip"})
20
+ Zip::ZipFile.open(io) do |zip_file|
21
+ zip_file.each do |f|
22
+ f_path=File.join(DESTINATION, f.name)
23
+ FileUtils.mkdir_p(File.dirname(f_path))
24
+ zip_file.extract(f, f_path) unless File.exist?(f_path)
25
+ end
26
+ end
27
+ io.close
28
+ end
29
+
30
+ def self.delete_first_lines
31
+ TABLES.each do |table|
32
+ filename = DESTINATION.join(table + '.CSV')
33
+ File.open(filename) do |f|
34
+ f.readline
35
+ File.open(filename.to_s + ".tmp", 'w') do |f2|
36
+ f2 << f.read
37
+ end
38
+ end
39
+ FileUtils.mv(filename.to_s + ".tmp", filename)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,26 @@
1
+ module MercatorBechlem
2
+ class Base < ActiveRecord::Base
3
+
4
+ establish_connection(:bechlem)
5
+ self.abstract_class = true
6
+ self.connection_config["local_infile"] = true # otherwise imporing from files is prohibitied
7
+ self.connection_config["strict"] = false # otherwise empty nil-values are not allowed in csv.-files
8
+
9
+ def self.update_from_download
10
+ tables = ["BRAND", "DESCRIPTOR", "ITEM", "IDENTIFIER", "QUALIFIER", "ITEM2ITEM"]
11
+ tables.each do |table|
12
+ self.connection.execute("TRUNCATE " + table + ";")
13
+ records_array = self.connection.execute(
14
+ "LOAD DATA LOCAL INFILE '" + Access::DESTINATION.to_s + "/" + table +
15
+ ".CSV' REPLACE INTO TABLE " + table + " FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\n';")
16
+ end
17
+ end
18
+
19
+ def self.copy_views_to_tables
20
+ self.connection.execute("TRUNCATE item2item_temp;")
21
+ self.connection.execute("TRUNCATE item_printer_temp;")
22
+ self.connection.execute("INSERT IGNORE INTO item_printer_temp SELECT * FROM VITEM_PRINTER;")
23
+ self.connection.execute("INSERT IGNORE INTO item2item_temp SELECT * FROM VITEM2ITEM;")
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,12 @@
1
+ module MercatorBechlem
2
+ class Vbrand < Base
3
+
4
+ self.table_name = "vbrand"
5
+ self.primary_key = "IDBRAND"
6
+
7
+ # --- Instance Methods --- #
8
+ def readonly? # prevents unintentional changes
9
+ true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,38 @@
1
+ module MercatorBechlem
2
+ class Vcategory < Base
3
+
4
+ self.table_name = "VCATEGORY"
5
+ self.primary_key = "IDCATEGORY"
6
+
7
+ def self.ivellio_top_categories
8
+ Vcategory.find("145210000").children + Vcategory.find("145220000").children
9
+ end
10
+
11
+ def parent
12
+ cat_id = self.IDCATEGORY.to_s
13
+ parent_idCategory = cat_id[0..(9 - (cat_id.count("0") + 2))].ljust(9, '0')
14
+ if ["145200000", "145000000"].include? parent_idCategory
15
+ return nil
16
+ else
17
+ return Vcategory.find(parent_idCategory)
18
+ end
19
+ end
20
+
21
+ def children
22
+ Vcategory.find_by_sql ["SELECT c.* FROM VCATEGORY c, ITEM2ITEM i2i WHERE i2i.idItem = c.idCategory AND i2i.idParItem = ? ORDER by idCategory", id ]
23
+ end
24
+
25
+ def ancestors
26
+ ancestors = self.parents.reverse
27
+ end
28
+
29
+ def parents
30
+ [self.parent] + parent.parents.to_a if self.parent
31
+ end
32
+
33
+ # --- Instance Methods --- #
34
+ def readonly? # prevents unintentional changes
35
+ true
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,12 @@
1
+ module MercatorBechlem
2
+ class Vdescriptor < Base
3
+
4
+ self.table_name = "vdescriptor"
5
+ self.primary_key = "IDITEM"
6
+
7
+ # --- Instance Methods --- #
8
+ def readonly? # prevents unintentional changes
9
+ true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module MercatorBechlem
2
+ class Videntifier < Base
3
+
4
+ self.table_name = "videntifier"
5
+ self.primary_key = "IDITEM"
6
+
7
+ # --- Instance Methods --- #
8
+ def readonly? # prevents unintentional changes
9
+ true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ module MercatorBechlem
2
+ class Vitem < Base
3
+
4
+ self.table_name = "vitem"
5
+ self.primary_key = "IDITEM"
6
+ has_many :item2items, :class_name => "Vitem2item", :foreign_key => "IDITEM"
7
+
8
+ # --- Instance Methods --- #
9
+ def readonly? # prevents unintentional changes
10
+ true
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ module MercatorBechlem
2
+ class Vitem2item < Base
3
+
4
+ self.table_name = "item2item_temp"
5
+ self.primary_key = "IDITEM"
6
+
7
+ belongs_to :item, :class_name => "Vitem", :primary_key => "IDITEM"
8
+ belongs_to :part_item, :class_name => "Vitem", :primary_key => "IDPARTITEM"
9
+
10
+ # --- Instance Methods --- #
11
+ def readonly? # prevents unintentional changes
12
+ true
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module MercatorBechlem
2
+ class VitemMedia < Base
3
+
4
+ self.table_name = "vitem_media"
5
+ self.primary_key = "IDITEM"
6
+
7
+ # --- Instance Methods --- #
8
+ def readonly? # prevents unintentional changes
9
+ true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module MercatorBechlem
2
+ class VitemPrinter < Base
3
+
4
+ self.table_name = "item_printer_temp"
5
+ self.primary_key = "IDITEM"
6
+
7
+ # --- Instance Methods --- #
8
+ def readonly? # prevents unintentional changes
9
+ true
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,17 @@
1
+ module MercatorBechlem
2
+ class VitemSupply < Base
3
+
4
+ self.table_name = "VITEM_SUPPLY"
5
+ self.primary_key = "IDITEM"
6
+
7
+ def self.for_category_id(category_id )
8
+ cat_id = category_id.to_s.gsub("0", "")
9
+ self.where(brand: "HP").where("idCategory like ?", "#{cat_id}%").order(artnr: :asc)
10
+ end
11
+
12
+ # --- Instance Methods --- #
13
+ def readonly? # prevents unintentional changes
14
+ true
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,11 @@
1
+ module MercatorBechlem
2
+ class Vqualifier < Base
3
+
4
+ self.table_name = "VQUALIFIER"
5
+
6
+ # --- Instance Methods --- #
7
+ def readonly? # prevents unintentional changes
8
+ true
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,59 @@
1
+ <page title="Home">
2
+
3
+ <body: class="front-page"/>
4
+
5
+ <content:>
6
+ <header class="content-header">
7
+ <p>
8
+ <if test="&@category"> <t key="mercator.you_are_here" />:
9
+ <repeat with="&@ancestors">
10
+ <a href="/consumables/#{this.IDCATEGORY}/category"><view:DESCRIPTION/></a> /
11
+ </repeat>
12
+ <view with="&@category.DESCRIPTION"/>
13
+ </if>
14
+ </p>
15
+ <if test="&@category">
16
+ <h1>
17
+ <t key="mercator.consumeables" />
18
+ <t key="mercator.in_the_category" />
19
+ <view with="&@category.DESCRIPTION"/>
20
+ </h1>
21
+ </if>
22
+ <else>
23
+ <h1>
24
+ <t key="mercator.consumeables" />
25
+ <t key="mercator.in_all_categories" />
26
+ </h1>
27
+ </else>
28
+ </header>
29
+
30
+ <section class="content-body">
31
+ <p>
32
+ <if test="&@children"><t key="mercator.subcategories" />:
33
+ <repeat with="&@children">
34
+ <a href="/consumables/#{this.IDCATEGORY}/category"><view:DESCRIPTION/></a>
35
+ <%= last_item? ? "" : " - " %>
36
+ </repeat>
37
+ </if>
38
+ </p>
39
+
40
+ <if test="&@active_products">
41
+ <%= @active_products.in_groups_of(2) do |group| %>
42
+ <div class="row-fluid">
43
+ <div repeat="&group" class="span6">
44
+ <if><card/></if>
45
+ </div>
46
+ </div>
47
+ <% end %>
48
+ </if>
49
+ <else>
50
+ <if test="&@category.parent">
51
+ <p><t key="mercator.no_products_available" /></p>
52
+ </if>
53
+ <else>
54
+ <p><t key="mercator.select_a_category" /></p>
55
+ </else>
56
+ </else>
57
+ </section>
58
+ </content:>
59
+ </page>
@@ -0,0 +1,71 @@
1
+ <page title="Home">
2
+
3
+ <body: class="front-page"/>
4
+
5
+ <content:>
6
+ <header class="content-header">
7
+ <h1>
8
+ <t key="mercator.consumeables" /> HP <t key="mercator.printer" />
9
+ </h1>
10
+ </header>
11
+
12
+ <section class="content-body">
13
+ <p>
14
+ <t key="mercator.consumeable_search_help" />
15
+ </p>
16
+
17
+ <h2><t key="mercator.printer_series" /></h2>
18
+ <p>
19
+ <if test="&@printerserie != 'All' ">
20
+ <a href="/consumables/">
21
+ <t key="mercator.remove_filter" />
22
+ </a>
23
+ </if>
24
+ </p>
25
+
26
+ <p>
27
+ <repeat with="&@printer_series_names">
28
+ <if test="&@printerserie == this">
29
+ <view with="&this" />
30
+ </if>
31
+ <else>
32
+ <a href="/consumables/#{u this}/printers">
33
+ <view/>
34
+ </a>
35
+ </else>
36
+
37
+ <%= last_item? ? "" : " - "%>
38
+ </repeat>
39
+ </p>
40
+
41
+ <if test="&@printers">
42
+ <h2>
43
+ <t key="mercator.printer" />
44
+ </h2>
45
+ </if>
46
+
47
+ <form action="/consumables/products" method="post">
48
+ <h3>
49
+ <t key="mercator.identifier" />
50
+ </h3>
51
+ <autocomplete:printer name="printer"
52
+ with="&MercatorBechlem::VitemPrinter.new()"
53
+ source="&@printer_names"/>
54
+ <submit label="&t(hobo.live_search.label)"/>
55
+ </form>
56
+
57
+ <p>
58
+
59
+ <repeat with="&@printers">
60
+ <span class="underline">
61
+ <a href="/consumables/#{this.IDITEM}/products">
62
+ <view:DESCRIPTION />
63
+ </a>
64
+ </span>
65
+ <%= last_item? ? "" : " - "%>
66
+ </repeat>
67
+
68
+ </p>
69
+ </section>
70
+ </content:>
71
+ </page>
@@ -0,0 +1,37 @@
1
+ <page title="Home">
2
+
3
+ <body: class="front-page"/>
4
+
5
+ <content:>
6
+ <header class="content-header">
7
+ <if test="&@printer_description">
8
+ <h1><t key="mercator.consumeables" /> <view with="&@printer_description" /></h1>
9
+ </if>
10
+ <else>
11
+ <h2><t key="mercator.no_product_with_this_name" /></h2>
12
+ </else>
13
+ </header>
14
+
15
+ <section class="content-body">
16
+ <if test="&@active_products">
17
+ <%= @active_products.in_groups_of(2) do |group| %>
18
+ <div class="row-fluid">
19
+ <div repeat="&group" class="span6">
20
+ <if><card/></if>
21
+ </div>
22
+ </div>
23
+ <% end %>
24
+ </if>
25
+ <else>
26
+ <p><t key="mercator.no_products_available" /></p>
27
+ </else>
28
+ </section>
29
+
30
+ <p>
31
+ <a href="/consumables" class ="btn btn-primary">
32
+ <t key="mercator.goto_search" />
33
+ </a>
34
+ </p>
35
+ </content:>
36
+
37
+ </page>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><app-name/>Mercator Bechlem</title>
5
+ <%= stylesheet_link_tag "mercator_bechlem/application", media: "all" %>
6
+ <%= javascript_include_tag "mercator_bechlem/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
data/config/routes.rb CHANGED
@@ -1,2 +1,8 @@
1
- MercatorBechlem::Engine.routes.draw do
2
- end
1
+ Mercator::Application.routes.draw do
2
+ get 'consumables', to: redirect('/consumables/All/printers/'), :as => 'consumables'
3
+ get 'consumables/:id/products/' => "consumables#products", :as => 'products_consumables'
4
+ post 'consumables/products/' => "consumables#products"
5
+ get 'consumables/:id/printers/' => "consumables#printers", :as => 'printers_consumables'
6
+
7
+ get 'consumables/:id/category/' => "consumables#category", :as => 'category_consumables'
8
+ end
@@ -1,3 +1,3 @@
1
1
  module MercatorBechlem
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1"
3
3
  end
@@ -1,4 +1,20 @@
1
- # desc "Explaining what the task does"
2
- # task :mercator_bechlem do
3
- # # Task goes here
4
- # end
1
+ namespace :bechlem do
2
+ # starten als: 'bundle exec rake bechlem:import'
3
+ # in Produktivumgebungen: 'bundle exec rake bechlem:import RAILS_ENV=production'
4
+ desc 'Import crosselling data from Bechlem'
5
+ task :import => :environment do
6
+
7
+ ::JobLogger.info("=" * 50)
8
+ ::JobLogger.info("Started Job: bechlem:import")
9
+ MercatorBechlem::Access.download_index
10
+ ::JobLogger.info("Bechlem Index downloaded (1/4) ...")
11
+ MercatorBechlem::Access.delete_first_lines
12
+ ::JobLogger.info("... first lines deleted (2/4) ...")
13
+ MercatorBechlem::Base.update_from_download
14
+ ::JobLogger.info("... tables imported (3/4) ...")
15
+ MercatorBechlem::Base.copy_views_to_tables
16
+ ::JobLogger.info("... views copied to tables (4/4)")
17
+ ::JobLogger.info("Finished Job: bechlem:import")
18
+ ::JobLogger.info("=" * 50)
19
+ end
20
+ end
metadata CHANGED
@@ -1,35 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mercator_bechlem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: '0.1'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Haslinger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-17 00:00:00.000000000 Z
11
+ date: 2014-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.0'
20
- - - '>='
21
- - !ruby/object:Gem::Version
22
- version: 4.0.3
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '4.0'
30
- - - '>='
27
+ - !ruby/object:Gem::Dependency
28
+ name: mysql2
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
31
39
  - !ruby/object:Gem::Version
32
- version: 4.0.3
40
+ version: '0'
33
41
  description: MercatorMesonic interfaces between Mercator and Bechlem in the realm
34
42
  of product cross selling information.
35
43
  email:
@@ -43,9 +51,24 @@ files:
43
51
  - Rakefile
44
52
  - app/assets/javascripts/mercator_bechlem/application.js
45
53
  - app/assets/stylesheets/mercator_bechlem/application.css
54
+ - app/controllers/consumables_controller.rb
46
55
  - app/controllers/mercator_bechlem/application_controller.rb
47
- - app/helpers/mercator_bechlem/application_helper.rb
48
- - app/views/layouts/mercator_bechlem/application.html.erb
56
+ - app/models/mercator_bechlem/access.rb
57
+ - app/models/mercator_bechlem/base.rb
58
+ - app/models/mercator_bechlem/vbrand.rb
59
+ - app/models/mercator_bechlem/vcategory.rb
60
+ - app/models/mercator_bechlem/vdescriptor.rb
61
+ - app/models/mercator_bechlem/videntifier.rb
62
+ - app/models/mercator_bechlem/vitem.rb
63
+ - app/models/mercator_bechlem/vitem2item.rb
64
+ - app/models/mercator_bechlem/vitem_media.rb
65
+ - app/models/mercator_bechlem/vitem_printer.rb
66
+ - app/models/mercator_bechlem/vitem_supply.rb
67
+ - app/models/mercator_bechlem/vqualifier.rb
68
+ - app/views/consumables/category.dryml
69
+ - app/views/consumables/printers.dryml
70
+ - app/views/consumables/products.dryml
71
+ - app/views/mercator_bechlem/layouts/mercator_bechlem/application.html.erb
49
72
  - config/routes.rb
50
73
  - lib/mercator_bechlem.rb
51
74
  - lib/mercator_bechlem/engine.rb
@@ -95,12 +118,12 @@ require_paths:
95
118
  - lib
96
119
  required_ruby_version: !ruby/object:Gem::Requirement
97
120
  requirements:
98
- - - '>='
121
+ - - ">="
99
122
  - !ruby/object:Gem::Version
100
123
  version: '0'
101
124
  required_rubygems_version: !ruby/object:Gem::Requirement
102
125
  requirements:
103
- - - '>='
126
+ - - ">="
104
127
  - !ruby/object:Gem::Version
105
128
  version: '0'
106
129
  requirements: []
@@ -1,4 +0,0 @@
1
- module MercatorBechlem
2
- module ApplicationHelper
3
- end
4
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>MercatorBechlem</title>
5
- <%= stylesheet_link_tag "mercator_bechlem/application", media: "all" %>
6
- <%= javascript_include_tag "mercator_bechlem/application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>