spree_dash 1.0.4 → 1.0.6

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.
@@ -0,0 +1,55 @@
1
+ module Spree
2
+ class Admin::AnalyticsController < Admin::BaseController
3
+ before_filter :redirect_if_registered
4
+
5
+ def sign_up
6
+ @store = {
7
+ :first_name => '',
8
+ :last_name => '',
9
+ :email => current_user.email,
10
+ :currency => 'USD',
11
+ :time_zone => Time.zone,
12
+ :name => Spree::Config.site_name,
13
+ :url => format_url(Spree::Config.site_url)
14
+ }
15
+ end
16
+
17
+ def register
18
+ @store = params[:store]
19
+ @store[:url] = format_url(@store[:url])
20
+
21
+ unless @store.has_key? :terms_of_service
22
+ flash[:error] = t(:agree_to_terms_of_service)
23
+ return render :sign_up
24
+ end
25
+
26
+ unless @store.has_key? :privacy_policy
27
+ flash[:error] = t(:agree_to_privacy_policy)
28
+ return render :sign_up
29
+ end
30
+
31
+ begin
32
+ @store = Spree::Dash::Jirafe.register(@store)
33
+ Spree::Dash::Config.app_id = @store[:app_id]
34
+ Spree::Dash::Config.app_token = @store[:app_token]
35
+ Spree::Dash::Config.site_id = @store[:site_id]
36
+ Spree::Dash::Config.token = @store[:site_token]
37
+ redirect_to admin_path, :notice => t(:successfully_signed_up_for_analytics)
38
+ rescue Spree::Dash::JirafeException => e
39
+ flash[:error] = e.message
40
+ render :sign_up
41
+ end
42
+ end
43
+
44
+ private
45
+
46
+ def redirect_if_registered
47
+ redirect_to admin_path, :notice => t(:already_signed_up_for_analytics) if Spree::Dash::Config.configured?
48
+ end
49
+
50
+ def format_url(url)
51
+ url =~ /^http/ ? url : "http://#{url}"
52
+ end
53
+
54
+ end
55
+ end
@@ -1,14 +1,15 @@
1
1
  module Spree
2
2
  class Admin::OverviewController < Admin::BaseController
3
3
 
4
- def index
5
- end
4
+ JIRAFE_LOCALES = { :english => 'en_US',
5
+ :french => 'fr_FR',
6
+ :german => 'de_DE',
7
+ :japanese => 'ja_JA' }
6
8
 
7
- def preferences
8
- [:app_id, :site_id, :token].each do |key|
9
- Spree::Dash::Config[key] = params[key]
9
+ def index
10
+ if JIRAFE_LOCALES.values.include? params[:locale]
11
+ Spree::Dash::Config.locale = params[:locale]
10
12
  end
11
- redirect_to admin_path
12
13
  end
13
14
 
14
15
  end
@@ -0,0 +1,13 @@
1
+ module Spree
2
+ module Admin
3
+ module OverviewHelper
4
+
5
+ def jirafe_locale_links
6
+ Spree::Admin::OverviewController::JIRAFE_LOCALES.collect do |langage, locale|
7
+ link_to t(langage), admin_path(:locale => locale)
8
+ end
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -2,7 +2,7 @@ module Spree
2
2
  module AnalyticsHelper
3
3
 
4
4
  def spree_analytics
5
- render :partial => 'analytics/header'
5
+ render :partial => 'spree/analytics/header'
6
6
  end
7
7
 
8
8
  def analytics_tags
@@ -19,7 +19,7 @@ module Spree
19
19
  { :product => { :name => @product.name,
20
20
  :price => @product.price,
21
21
  :sku => @product.sku,
22
- :categories => @product.taxons.map { |t| t.permalink }
22
+ :categories => @product.taxons.map(&:permalink)
23
23
  }
24
24
  }
25
25
  end
@@ -31,7 +31,7 @@ module Spree
31
31
 
32
32
  def keywords_analytics_tags
33
33
  return {} unless params[:keywords]
34
- { :search => { :keyword => params[:keywords] } }
34
+ { :search => { :keyword => u(params[:keywords]) } }
35
35
  end
36
36
 
37
37
  def cart_analytics_tags
@@ -56,14 +56,181 @@ module Spree
56
56
  def products_for_order
57
57
  @order.line_items.map do |line_item|
58
58
  variant = line_item.variant
59
- { :name => variant.name,
59
+ {
60
+ :name => variant.name,
60
61
  :qty => line_item.quantity,
61
62
  :price => variant.price,
62
63
  :sku => variant.sku,
63
- :categories => variant.product.taxons.map { |t| t.permalink }
64
+ :categories => variant.product.taxons.map(&:permalink)
64
65
  }
65
66
  end
66
67
  end
67
68
 
69
+ CURRENCIES = [
70
+ ["Australian Dollar", "AUD"],
71
+ ["New Zealand Dollar", "NZD"],
72
+ ["US Dollar", "USD"],
73
+ ["Euro", "EUR"],
74
+ ["British Pound", "GBP"],
75
+ ["Japanese Yen", "JPY"],
76
+ ["Afghanistan Afghani", "AFA"],
77
+ ["Albanian Lek", "ALL"],
78
+ ["Algerian Dinar", "DZD"],
79
+ ["Andorran Franc", "ADF"],
80
+ ["Andorran Peseta", "ADP"],
81
+ ["Angolan New Kwanza", "AON"],
82
+ ["Argentine Peso", "ARS"],
83
+ ["Aruban Florin", "AWG"],
84
+ ["Austrian Schilling", "ATS"],
85
+ ["Bahamanian Dollar", "BSD"],
86
+ ["Bahraini Dinar", "BHD"],
87
+ ["Bangladeshi Taka", "BDT"],
88
+ ["Barbados Dollar", "BBD"],
89
+ ["Belgian Franc", "BEF"],
90
+ ["Belize Dollar", "BZD"],
91
+ ["Bermudian Dollar", "BMD"],
92
+ ["Bhutan Ngultrum", "BTN"],
93
+ ["Bolivian Boliviano", "BOB"],
94
+ ["Botswana Pula", "BWP"],
95
+ ["Brazilian Real", "BRL"],
96
+ ["Brunei Dollar", "BND"],
97
+ ["Bulgarian Lev", "BGL"],
98
+ ["Burundi Franc", "BIF"],
99
+ ["CFA Franc BCEAO", "XOF"],
100
+ ["CFA Franc BEAC", "XAF"],
101
+ ["Cambodian Riel", "KHR"],
102
+ ["Canadian Dollar", "CAD"],
103
+ ["Cape Verde Escudo", "CVE"],
104
+ ["Cayman Islands Dollar", "KYD"],
105
+ ["Central Pacific Franc", "CFP"],
106
+ ["Chilean Peso", "CLP"],
107
+ ["Chinese Yuan Renminbi", "CNY"],
108
+ ["Colombian Peso", "COP"],
109
+ ["Comoros Franc", "KMF"],
110
+ ["Costa Rican Colon", "CRC"],
111
+ ["Croatian Kuna", "HRK"],
112
+ ["Cuban Peso", "CUP"],
113
+ ["Cyprus Pound", "CYP"],
114
+ ["Czech Koruna", "CSK"],
115
+ ["Danish Krone", "DKK"],
116
+ ["Djibouti Franc", "DJF"],
117
+ ["Dominican R. Peso", "DOP"],
118
+ ["Dutch Guilder", "NLG"],
119
+ ["ECU", "XEU"],
120
+ ["East Caribbean Dollar", "XCD"],
121
+ ["Ecuador Sucre", "ECS"],
122
+ ["Egyptian Pound", "EGP"],
123
+ ["El Salvador Colon", "SVC"],
124
+ ["Estonian Kroon", "EEK"],
125
+ ["Ethiopian Birr", "ETB"],
126
+ ["Falkland Islands Pound", "FKP"],
127
+ ["Fiji Dollar", "FJD"],
128
+ ["Finnish Markka", "FIM"],
129
+ ["French Franc", "FRF"],
130
+ ["Gambian Dalasi", "GMD"],
131
+ ["German Mark", "DEM"],
132
+ ["Ghanaian Cedi", "GHC"],
133
+ ["Gibraltar Pound", "GIP"],
134
+ ["Greek Drachma", "GRD"],
135
+ ["Guatemalan Quetzal", "GTQ"],
136
+ ["Guinea Franc", "GNF"],
137
+ ["Guyanese Dollar", "GYD"],
138
+ ["Haitian Gourde", "HTG"],
139
+ ["Honduran Lempira", "HNL"],
140
+ ["Hong Kong Dollar", "HKD"],
141
+ ["Hungarian Forint", "HUF"],
142
+ ["Iceland Krona", "ISK"],
143
+ ["Indian Rupee", "INR"],
144
+ ["Indonesian Rupiah", "IDR"],
145
+ ["Iranian Rial", "IRR"],
146
+ ["Iraqi Dinar", "IQD"],
147
+ ["Irish Punt", "IEP"],
148
+ ["Israeli New Shekel", "ILS"],
149
+ ["Italian Lira", "ITL"],
150
+ ["Jamaican Dollar", "JMD"],
151
+ ["Jordanian Dinar", "JOD"],
152
+ ["Kazakhstan Tenge", "KZT"],
153
+ ["Kenyan Shilling", "KES"],
154
+ ["Kuwaiti Dinar", "KWD"],
155
+ ["Lao Kip", "LAK"],
156
+ ["Latvian Lats", "LVL"],
157
+ ["Lebanese Pound", "LBP"],
158
+ ["Lesotho Loti", "LSL"],
159
+ ["Liberian Dollar", "LRD"],
160
+ ["Libyan Dinar", "LYD"],
161
+ ["Lithuanian Litas", "LTL"],
162
+ ["Luxembourg Franc", "LUF"],
163
+ ["Macau Pataca", "MOP"],
164
+ ["Malagasy Franc", "MGF"],
165
+ ["Malawi Kwacha", "MWK"],
166
+ ["Malaysian Ringgit", "MYR"],
167
+ ["Maldive Rufiyaa", "MVR"],
168
+ ["Maltese Lira", "MTL"],
169
+ ["Mauritanian Ouguiya", "MRO"],
170
+ ["Mauritius Rupee", "MUR"],
171
+ ["Mexican Peso", "MXP"],
172
+ ["Mongolian Tugrik", "MNT"],
173
+ ["Moroccan Dirham", "MAD"],
174
+ ["Mozambique Metical", "MZM"],
175
+ ["Myanmar Kyat", "MMK"],
176
+ ["NL Antillian Guilder", "ANG"],
177
+ ["Namibia Dollar", "NAD"],
178
+ ["Nepalese Rupee", "NPR"],
179
+ ["Nicaraguan Cordoba Oro", "NIO"],
180
+ ["Nigerian Naira", "NGN"],
181
+ ["North Korean Won", "KPW"],
182
+ ["Norwegian Kroner", "NOK"],
183
+ ["Omani Rial", "OMR"],
184
+ ["Pakistan Rupee", "PKR"],
185
+ ["Panamanian Balboa", "PAB"],
186
+ ["Papua New Guinea Kina", "PGK"],
187
+ ["Paraguay Guarani", "PYG"],
188
+ ["Peruvian Nuevo Sol", "PEN"],
189
+ ["Philippine Peso", "PHP"],
190
+ ["Polish Zloty", "PLZ"],
191
+ ["Portuguese Escudo", "PTE"],
192
+ ["Qatari Rial", "QAR"],
193
+ ["Romanian Leu", "ROL"],
194
+ ["Russian Rouble", "RUB"],
195
+ ["Samoan Tala", "WST"],
196
+ ["Sao Tome/Principe Dobra", "STD"],
197
+ ["Saudi Riyal", "SAR"],
198
+ ["Seychelles Rupee", "SCR"],
199
+ ["Sierra Leone Leone", "SLL"],
200
+ ["Singapore Dollar", "SGD"],
201
+ ["Slovak Koruna", "SKK"],
202
+ ["Slovenian Tolar", "SIT"],
203
+ ["Solomon Islands Dollar", "SBD"],
204
+ ["Somali Shilling", "SOS"],
205
+ ["South African Rand", "ZAR"],
206
+ ["South-Korean Won", "KRW"],
207
+ ["Spanish Peseta", "ESP"],
208
+ ["Sri Lanka Rupee", "LKR"],
209
+ ["St. Helena Pound", "SHP"],
210
+ ["Sudanese Dinar", "SDD"],
211
+ ["Sudanese Pound", "SDP"],
212
+ ["Suriname Guilder", "SRG"],
213
+ ["Swaziland Lilangeni", "SZL"],
214
+ ["Swedish Krona", "SEK"],
215
+ ["Swiss Franc", "CHF"],
216
+ ["Syrian Pound", "SYP"],
217
+ ["Taiwan Dollar", "TWD"],
218
+ ["Tanzanian Shilling", "TZS"],
219
+ ["Thai Baht", "THB"],
220
+ ["Tonga Pa'anga", "TOP"],
221
+ ["Trinidad/Tobago Dollar", "TTD"],
222
+ ["Tunisian Dinar", "TND"],
223
+ ["Turkish Lira", "TRL"],
224
+ ["Uganda Shilling", "UGS"],
225
+ ["Ukraine Hryvnia", "UAH"],
226
+ ["Uruguayan Peso", "UYP"],
227
+ ["Utd. Arab Emir. Dirham", "AED"],
228
+ ["Vanuatu Vatu", "VUV"],
229
+ ["Venezuelan Bolivar", "VEB"],
230
+ ["Vietnamese Dong", "VND"],
231
+ ["Yugoslav Dinar", "YUN"],
232
+ ["Zambian Kwacha", "ZMK"],
233
+ ["ZWD","Zimbabwe Dollar"]
234
+ ]
68
235
  end
69
236
  end
@@ -1,8 +1,10 @@
1
1
  module Spree
2
2
  class DashConfiguration < Preferences::Configuration
3
3
  preference :app_id, :string
4
+ preference :app_token, :string
4
5
  preference :site_id, :string
5
6
  preference :token, :string
7
+ preference :locale, :string, :default => 'en_US'
6
8
 
7
9
  def configured?
8
10
  preferred_app_id.present? and preferred_site_id.present? and preferred_token.present?
@@ -1,4 +1,5 @@
1
1
  Deface::Override.new(:virtual_path => "spree/layouts/spree_application",
2
2
  :name => "add_analytics_header",
3
3
  :insert_bottom => "[data-hook='inside_head']",
4
- :partial => "spree/analytics/header")
4
+ :partial => "spree/analytics/header",
5
+ :original => '6f23c8af6e863d0499835c00b3f2763cb98e1d75')
@@ -0,0 +1,45 @@
1
+ <%= form_tag admin_analytics_register_path do %>
2
+ <fieldset id="analytics_signup" data-hook>
3
+ <legend><%= t(:analytics_sign_up) %></legend>
4
+ <p>
5
+ <%= check_box_tag 'store[terms_of_service]', @store[:terms_of_service], @store.has_key?(:terms_of_service), :size => 50 %>
6
+ <%= label_tag t(:agree_to_terms_of_service) %> (<a href="http://jirafe.com/terms" target="_new"><%= t(:review) %></a>)
7
+ </p>
8
+ <p>
9
+ <%= check_box_tag 'store[privacy_policy]', @store[:privacy_policy], @store.has_key?(:privacy_policy), :size => 50 %>
10
+ <%= label_tag t(:agree_to_privacy_policy) %> (<a href="http://jirafe.com/privacy" target="_new"><%= t(:review) %></a>)
11
+ </p>
12
+ <p>
13
+ <%= label_tag :first_name %><br>
14
+ <%= text_field_tag 'store[first_name]', @store[:first_name], :size => 50 %>
15
+ </p>
16
+ <p>
17
+ <%= label_tag :last_name %><br>
18
+ <%= text_field_tag 'store[last_name]', @store[:last_name], :size => 50 %>
19
+ </p>
20
+ <p>
21
+ <%= label_tag :email %><br>
22
+ <%= email_field_tag 'store[email]', @store[:email], :size => 50 %>
23
+ </p>
24
+ <p>
25
+ <%= label_tag :store_name %><br>
26
+ <%= text_field_tag 'store[name]', @store[:name], :size => 50 %>
27
+ </p>
28
+ <p>
29
+ <%= label_tag :store_url %><br>
30
+ <%= url_field_tag 'store[url]', @store[:url], :size => 50 %>
31
+ </p>
32
+ <p>
33
+ <%= label_tag :currency %><br>
34
+ <%= select_tag 'store[currency]', options_for_select(Spree::AnalyticsHelper::CURRENCIES, @store[:currency]) %>
35
+ </p>
36
+ <p>
37
+ <%= label_tag :time_zone %><br>
38
+ <%= select_tag 'store[time_zone]', time_zone_options_for_select(@store[:time_zone]) %>
39
+ </p>
40
+ </fieldset>
41
+ <p class="form-buttons" data-hook="buttons">
42
+ <%= button t(:activate) %>
43
+ <%= t(:or) %> <%= link_to t(:cancel), admin_path %>
44
+ </p>
45
+ <% end %>
@@ -1,43 +1,35 @@
1
1
  <% content_for :head do %>
2
- <link type="text/css" rel="stylesheet" href="https://api.jirafe.com/dashboard/css/spree_ui.css" media="all" />
3
- <script type="text/javascript" src="https://api.jirafe.com/dashboard/js/spree_ui.js"></script>
2
+ <%= stylesheet_link_tag 'https://api.jirafe.com/dashboard/css/spree_ui.css', :media => 'all' %>
3
+ <%= javascript_include_tag 'https://jirafe.com/dashboard/js/spree_namespaced_ui.js' %>
4
4
  <% end %>
5
5
 
6
- <% if params[:dash_edit] %>
7
- <%= render 'form' %>
8
- <% else %>
9
- <% if Spree::Dash::Config.configured? %>
10
- <h1><%= t(:overview) %></h1>
11
- <div id="jirafe"></div>
12
- <script type="text/javascript" defer="defer">
13
- if (typeof jQuery != 'undefined') {
14
- (function($) {
15
- $('#jirafe').jirafe({
16
- api_url: 'https://api.jirafe.com/v1',
17
- api_token: '<%= Spree::Dash::Config.token %>',
18
- app_id: '<%= Spree::Dash::Config.app_id %>',
19
- version: 'spree-v0.1.0'
20
- });
21
- })(jQuery);
6
+ <% if Spree::Dash::Config.configured? %>
7
+ <h1><%= t(:overview) %></h1>
8
+ <div id="jirafe"></div>
9
+ <%= javascript_tag :defer => 'defer' do %>
10
+ jirafe.jQuery('#jirafe').jirafe({
11
+ api_url: 'https://api.jirafe.com/v1',
12
+ api_token: '<%= Spree::Dash::Config.token %>',
13
+ app_id: '<%= Spree::Dash::Config.app_id %>',
14
+ version: 'spree-v0.1.0',
15
+ locale: '<%= Spree::Dash::Config.locale %>' });
16
+ setTimeout(function() {
17
+ if ($('mod-jirafe') == undefined) {
18
+ $('messages').insert ("<ul class=\"messages\"><li class=\"error-msg\">We're unable to connect with the Jirafe service for the moment. Please wait a few minutes and refresh this page later.</li></ul>");
22
19
  }
23
- setTimeout(function() {
24
- if ($('mod-jirafe') == undefined){
25
- $('messages').insert ("<ul class=\"messages\"><li class=\"error-msg\">We're unable to connect with the Jirafe service for the moment. Please wait a few minutes and refresh this page later.</li></ul>");
26
- }
27
- }, 10000);
28
- </script>
29
- <% else %>
30
- <div class="analytics_splash">
31
- <%= image_tag 'analytics_dashboard_preview.png', :alt => 'Spree Analytics' %>
32
- </div>
20
+ }, 10000);
33
21
  <% end %>
34
- <br>
22
+ <div id="jirafe_locales">
23
+ <%= raw jirafe_locale_links.join(' | ') %>
24
+ </div>
25
+ <% else %>
26
+ <div class="analytics_splash">
27
+ <%= image_tag 'analytics_dashboard_preview.png', :alt => 'Spree Analytics' %>
28
+ </div>
29
+ <br/>
35
30
  <div class="preview-buttons">
36
- <%= link_to t(:enter_token), admin_path(:dash_edit => true), :class => "button green" %>
31
+ <%= link_to content_tag(:span, t(:activate)), admin_analytics_sign_up_path, :class => 'button green' %>
37
32
  <%= t(:or) %> &nbsp;
38
- <%= link_to t(:learn_more), "http://spreecommerce.com/blog/2012/01/31/introducing-spree-analytics/", :class => "button", :target => "_blank" %>
33
+ <%= link_to content_tag(:span, t(:learn_more)), "http://spreecommerce.com/blog/2012/01/31/introducing-spree-analytics/", :class => 'button', :target => '_blank' %>
39
34
  </div>
40
-
41
- <% end %>
42
-
43
-
35
+ <% end %>
@@ -1 +1,6 @@
1
1
  en:
2
+ activate: Activate
3
+ agree_to_terms_of_service: Agree to Terms of Service
4
+ agree_to_privacy_policy: Agree to Privacy Policy
5
+ already_signed_up_for_analytics: You have already signed up for Spree Analytics
6
+ successfully_signed_up_for_analytics: Successfully signed up for Spree Analytics
@@ -1,4 +1,6 @@
1
1
  Spree::Core::Engine.routes.prepend do
2
2
  match '/admin' => 'admin/overview#index', :as => :admin
3
- match '/admin/dash_preferences' => 'admin/overview#preferences', :as => :admin_dash_preferences
3
+
4
+ get '/admin/analytics/sign_up' => 'admin/analytics#sign_up', :as => :admin_analytics_sign_up
5
+ post '/admin/analytics/register' => 'admin/analytics#register', :as => :admin_analytics_register
4
6
  end
@@ -1,4 +1,5 @@
1
1
  require 'spree_core'
2
+ require 'httparty'
2
3
 
3
4
  module Spree
4
5
  module Dash
@@ -7,14 +8,5 @@ module Spree
7
8
  end
8
9
 
9
10
  require 'spree/dash/engine'
11
+ require 'spree/dash/jirafe'
10
12
 
11
- # add helper to all the base controllers
12
- # Spree::BaseController includes Spree::Core::ControllerHelpers
13
- require 'spree/core/controller_helpers'
14
- class << Spree::Core::ControllerHelpers
15
- def included_with_analytics(receiver)
16
- included_without_analytics(receiver)
17
- receiver.send :helper, 'spree/analytics'
18
- end
19
- alias_method_chain :included, :analytics
20
- end
@@ -0,0 +1,74 @@
1
+ module Spree
2
+ module Dash
3
+ class JirafeException < Exception; end
4
+
5
+ class Jirafe
6
+ include HTTParty
7
+ base_uri 'https://api.jirafe.com/v1'
8
+ format :json
9
+
10
+ class << self
11
+ def register(store)
12
+ validate_required_keys! store
13
+ store[:time_zone] = ActiveSupport::TimeZone::MAPPING[store[:time_zone]] # jirafe expects 'America/New_York'
14
+
15
+ store = register_application(store)
16
+ store = synchronize_resources(store)
17
+ end
18
+
19
+ def validate_required_keys!(store)
20
+ [:first_name, :url, :email, :currency, :time_zone, :name].each do |key|
21
+ unless store[key].present?
22
+ raise JirafeException, "#{key.to_s.titleize} is required"
23
+ end
24
+ end
25
+ end
26
+
27
+ def register_application(store)
28
+ return if store[:app_id].present? && store[:app_token].present?
29
+
30
+ options = {
31
+ :body => {
32
+ :name => store[:name],
33
+ :url => store[:url]
34
+ }
35
+ }
36
+ response = post '/applications', options
37
+ raise JirafeException, 'unable to create jirafe application' unless response.code == 200 &&
38
+ response['app_id'].present? &&
39
+ response['token'].present?
40
+ store[:app_id] = response['app_id']
41
+ store[:app_token] = response['token']
42
+ store
43
+ end
44
+
45
+ def synchronize_resources(store)
46
+ return unless store.has_key?(:app_id) and store.has_key?(:app_token)
47
+
48
+ options = {
49
+ :headers => { 'Content-type' => 'application/json' },
50
+ :query => { :token => store[:app_token] },
51
+ :body => {
52
+ :sites => [{ :description => store[:name],
53
+ :url => store[:url],
54
+ :currency => store[:currency],
55
+ :timezone => store[:time_zone],
56
+ :external_id => 1,
57
+ :site_id => store[:site_id] }],
58
+ :users => [{ :email => store[:email],
59
+ :first_name => store[:first_name],
60
+ :last_name => store[:last_name] }]
61
+ }.to_json
62
+ }
63
+ response = post "/applications/#{store[:app_id]}/resources", options
64
+ raise JirafeException, 'unable to synchronize store' unless response.code == 200 &&
65
+ response['sites'].present? &&
66
+ response['users'].present?
67
+ store[:site_id] = response["sites"].first["site_id"]
68
+ store[:site_token] = response["users"].first["token"]
69
+ store
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_dash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,30 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-28 00:00:00.000000000 Z
12
+ date: 2012-07-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_core
16
- requirement: &70103754914040 !ruby/object:Gem::Requirement
16
+ requirement: &70357991597740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - =
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.4
21
+ version: 1.0.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70103754914040
24
+ version_requirements: *70357991597740
25
+ - !ruby/object:Gem::Dependency
26
+ name: httparty
27
+ requirement: &70357991597280 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 0.8.1
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70357991597280
25
36
  description: Required dependency for Spree
26
37
  email: brian@spreecommerce.com
27
38
  executables: []
@@ -31,16 +42,20 @@ files:
31
42
  - LICENSE
32
43
  - README.md
33
44
  - app/assets/images/analytics_dashboard_preview.png
45
+ - app/controllers/spree/admin/analytics_controller.rb
34
46
  - app/controllers/spree/admin/overview_controller.rb
47
+ - app/helpers/spree/admin/overview_helper.rb
35
48
  - app/helpers/spree/analytics_helper.rb
36
49
  - app/models/spree/dash_configuration.rb
37
50
  - app/overrides/analytics_header.rb
51
+ - app/views/spree/admin/analytics/sign_up.html.erb
38
52
  - app/views/spree/admin/overview/_form.html.erb
39
53
  - app/views/spree/admin/overview/index.html.erb
40
54
  - app/views/spree/analytics/_header.html.erb
41
55
  - config/locales/en.yml
42
56
  - config/routes.rb
43
57
  - lib/spree/dash/engine.rb
58
+ - lib/spree/dash/jirafe.rb
44
59
  - lib/spree/dash.rb
45
60
  - lib/spree_dash.rb
46
61
  homepage: http://spreecommerce.com
@@ -63,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
78
  version: '0'
64
79
  segments:
65
80
  - 0
66
- hash: 1562254317033526470
81
+ hash: -1742301049403710925
67
82
  requirements:
68
83
  - none
69
84
  rubyforge_project: