makena 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. metadata +10 -88
  3. data/.gitignore +0 -37
  4. data/Gemfile +0 -139
  5. data/Gemfile.lock +0 -469
  6. data/README.rdoc +0 -28
  7. data/Rakefile +0 -6
  8. data/app/assets/images/.keep +0 -0
  9. data/app/assets/javascripts/application.js +0 -16
  10. data/app/assets/stylesheets/application.css +0 -13
  11. data/app/controllers/application_controller.rb +0 -5
  12. data/app/controllers/concerns/.keep +0 -0
  13. data/app/helpers/application_helper.rb +0 -2
  14. data/app/mailers/.keep +0 -0
  15. data/app/models/.keep +0 -0
  16. data/app/models/concerns/.keep +0 -0
  17. data/app/views/layouts/application.html.erb +0 -14
  18. data/bin/bundle +0 -3
  19. data/bin/rails +0 -4
  20. data/bin/rake +0 -4
  21. data/config.ru +0 -4
  22. data/config/application.rb +0 -23
  23. data/config/boot.rb +0 -4
  24. data/config/database.yml +0 -39
  25. data/config/environment.rb +0 -5
  26. data/config/environments/development.rb +0 -29
  27. data/config/environments/production.rb +0 -80
  28. data/config/environments/test.rb +0 -36
  29. data/config/initializers/backtrace_silencers.rb +0 -7
  30. data/config/initializers/filter_parameter_logging.rb +0 -4
  31. data/config/initializers/inflections.rb +0 -16
  32. data/config/initializers/mime_types.rb +0 -5
  33. data/config/initializers/secret_token.rb +0 -12
  34. data/config/initializers/session_store.rb +0 -3
  35. data/config/initializers/wrap_parameters.rb +0 -14
  36. data/config/locales/en.yml +0 -23
  37. data/config/routes.rb +0 -56
  38. data/db/seeds.rb +0 -7
  39. data/lib/assets/.keep +0 -0
  40. data/lib/generators/connection/USAGE +0 -26
  41. data/lib/generators/connection/connection_generator.rb +0 -195
  42. data/lib/generators/connection/templates/extensions/alpha_alphas.rb +0 -17
  43. data/lib/generators/connection/templates/extensions/alpha_betas.rb +0 -17
  44. data/lib/generators/connection/templates/extensions/geocoder.rb +0 -23
  45. data/lib/generators/connection/templates/extensions/image.rb +0 -12
  46. data/lib/generators/copy/USAGE +0 -7
  47. data/lib/generators/copy/copy_generator.rb +0 -41
  48. data/lib/generators/git/USAGE +0 -8
  49. data/lib/generators/git/git_generator.rb +0 -59
  50. data/lib/generators/setup/USAGE +0 -8
  51. data/lib/generators/setup/setup_generator.rb +0 -151
  52. data/lib/generators/success/USAGE +0 -44
  53. data/lib/generators/success/success_generator.rb +0 -18
  54. data/lib/tasks/.keep +0 -0
  55. data/makena/.gitignore +0 -17
  56. data/makena/Gemfile +0 -4
  57. data/makena/LICENSE.txt +0 -22
  58. data/makena/README.md +0 -32
  59. data/makena/Rakefile +0 -1
  60. data/makena/lib/makena.rb +0 -21
  61. data/makena/lib/makena/controllers.rb +0 -218
  62. data/makena/lib/makena/gps.rb +0 -2
  63. data/makena/lib/makena/image.rb +0 -2
  64. data/makena/lib/makena/layouts.rb +0 -41
  65. data/makena/lib/makena/models.rb +0 -2
  66. data/makena/lib/makena/tree.rb +0 -181
  67. data/makena/lib/makena/version.rb +0 -3
  68. data/makena/lib/makena/views.rb +0 -225
  69. data/makena/makena.gemspec +0 -23
  70. data/public/404.html +0 -58
  71. data/public/422.html +0 -58
  72. data/public/500.html +0 -57
  73. data/public/favicon.ico +0 -0
  74. data/public/robots.txt +0 -5
  75. data/vendor/assets/javascripts/.keep +0 -0
  76. data/vendor/assets/stylesheets/.keep +0 -0
@@ -1,2 +0,0 @@
1
- module Gps
2
- end
@@ -1,2 +0,0 @@
1
- module Image
2
- end
@@ -1,41 +0,0 @@
1
- module Layouts
2
-
3
- # Broker layout form partials to obj forms
4
- def layouts_form(*args)
5
- f = (args.shift)
6
- obj = (args.shift)
7
- name_of_partial = (args.shift).to_s
8
- name_of_attribute = (args.shift||name_of_partial).to_s
9
- header = (args.shift||name_of_attribute).to_s.humanize.upcase
10
- render "layouts/form/#{name_of_partial}", f: f, obj: obj, sender: name_of_attribute, header: header, args: args
11
- end
12
-
13
- # Broker layout form partials to obj forms
14
- def layouts_forms(*args)
15
- f = (args.shift)
16
- obj = (args.shift)
17
- name_of_partial = (args.shift).to_s
18
- senders = (args.shift||name_of_partial)
19
- headers = (args.shift||senders)
20
- render "layouts/form/#{name_of_partial}", f: f, obj: obj, senders: senders, headers: headers, args: args
21
- end
22
-
23
- # Broker layout view partials to obj views
24
- def layouts_show(*args)
25
- obj = args.shift
26
- if args.present?
27
- name_of_partial = (args.shift).to_s
28
- name_of_attribute = (args.shift||name_of_partial).to_s
29
- header = args.shift
30
- render "layouts/show/#{name_of_partial}", obj: obj, sender: name_of_attribute, header: header
31
- else
32
- render "layouts/show", obj: obj
33
- end
34
- end
35
-
36
- # Broker layout view partials to obj views
37
- def layouts_show_links(*args)
38
- render "layouts/show/links", obj: args.shift, sender: args.shift, args: args
39
- end
40
-
41
- end
@@ -1,2 +0,0 @@
1
- module Models
2
- end
@@ -1,181 +0,0 @@
1
- module Tree
2
-
3
- # hash of application objects and infromation about objects
4
- def makena(obj=nil, abstract=nil)
5
- sender = makenaize_sender(obj)
6
- if obj.present? and abstract.present?
7
- # if obj and abstract
8
- if makena_hsh[sender]
9
- # if obj has a key, makena_hsh[sender][abstract]
10
- abstract = abstract.to_s
11
- case abstract.to_s
12
- when "name"
13
- headline( obj.send(makena_hsh[sender]["sender"]).to_s ).to_s
14
- when "sender"
15
- makena_hsh[sender]["sender"]
16
- when "header"
17
- makena_hsh[sender]["header"]
18
- when "options"
19
- makena_hsh[sender]["options"]
20
- when "senders"
21
- makena_hsh[sender]["senders"]
22
- when "assocs"
23
- makena_hsh[sender]["assocs"]
24
- when "specials"
25
- makena_hsh[sender]["specials"]
26
- end
27
- else
28
- return nil
29
- end
30
- elsif obj.present?
31
- if makena_hsh[sender]
32
- return makena_hsh[sender]
33
- else
34
- return nil
35
- end
36
- else
37
- return makena_hsh
38
- end
39
- end
40
-
41
- # Actual makena hash to draw from
42
- #def makena_hsh
43
- # unless (@makena_hsh||=nil)
44
- # @makena_hsh={}
45
- # options = %w(public private new copy add remove destroy)
46
- # @makena_hsh = @makena_hsh.merge( makena_hsh_obj(:user, nil, :name, options ) )
47
- # specials = [:name_by_content_by_address]
48
- # @makena_hsh = @makena_hsh.merge( makena_hsh_obj(:spot, nil, :name_with_distance, options, specials ) )
49
- # specials = [:name_by_content]
50
- # @makena_hsh = @makena_hsh.merge( makena_hsh_obj(:note, nil, :name, options, specials ) )
51
- # end
52
- # @makena_hsh
53
- #end
54
- # hsh = hsh.merge( makena_hsh_obj(:user, "User", :name, [], [:alpha, :beta, :ceta] ) )
55
- # hsh = hsh.merge( makena_hsh_obj(:alpha, nil, :name, [], [], [:name_from_content]) )
56
- # hsh = hsh.merge( makena_hsh_obj(:alpha_parent, nil, :name, [], [], [:name_from_content]) )
57
- # hsh = hsh.merge( makena_hsh_obj(:alpha_child, nil, :name, [], [], [:name_from_content]) )
58
- # hsh = hsh.merge( makena_hsh_obj(:beta, nil, :name, [], []) )
59
- # hsh = hsh.merge( makena_hsh_obj(:ceta, nil, :name, [], []) )
60
-
61
- # Find associates for each of obj senders and load into hash and return
62
- def makena_hsh_load_assocs(hsh)
63
- for key in hsh.keys
64
- for sender in hsh[key]["senders"]
65
- sender_sym = sender.singularize.to_sym
66
- key_sender = key.to_s.pluralize
67
- unless key==:user or hsh[sender_sym]["senders"].include?(key_sender) or hsh[sender_sym]["assocs"].include?(key_sender)
68
- hsh[sender_sym]["assocs"] << key_sender
69
- end
70
- end
71
- end
72
- hsh
73
- end
74
-
75
- # Get all associates of obj and pass back as array of strings
76
- def makena_assocs(obj)
77
- binding.pry
78
- #Model_1.reflect_on_association(:images)
79
- #associations = Model_1.reflect_on_all_associations(:has_many)
80
- #associations.any? { |a| a.name == :images }
81
- # TODO makenabots http://stackoverflow.com/questions/8281458/is-there-any-way-to-check-that-has-many-association-exists-in-rails-3-1
82
- end
83
-
84
- # Create makena hash object
85
- def makena_hsh_obj(objsym, header=nil, sender="id", options=[], specials=[])
86
- hsh||={}
87
- hsh[objsym]={}
88
- hsh[objsym]["header"]=(header||objsym.to_s.humanize.titleize).to_s
89
- hsh[objsym]["sender"]=sender.to_s
90
- hsh[objsym]["options"]=options.map{|a| a.to_s}
91
- hsh[objsym]["specials"]=specials.map{|a| a.to_sym}
92
- hsh
93
- end
94
-
95
- # Convert name into makena ready name
96
- def makenaize_name(obj, name)
97
- %w(parents children).include?(name) ? "#{obj.class.to_s.underscore}_#{name.singularize}".to_sym : name.to_s.singularize.to_sym
98
- end
99
-
100
- # Convert obj into makena ready sender
101
- def makenaize_sender(obj)
102
- if obj.present?
103
- if obj.class.to_s=="Symbol"
104
- obj.to_s.singularize.to_sym
105
- else
106
- obj.class.to_s.underscore.singularize.to_sym
107
- end
108
- else
109
- nil
110
- end
111
- end
112
-
113
- #makena_classes
114
- #=> [User, Foo, Foobar]
115
- def makena_classes
116
- unless @makena_classes
117
- Rails.application.eager_load!
118
- pass = ActiveRecord::Base.descendants
119
- pass.shift
120
- @makena_classes = pass
121
- end
122
- @makena_classes
123
- end
124
-
125
- #makena_classes_u
126
- #=> ["user_foos", "foo_foos", "foo_foobars", "foobar_foobars"]
127
- def makena_classes_connecting_u
128
- unless @makena_classes_connecting_u
129
- passdoubles=[]
130
- for b in makena_classes
131
- passdoubles += makena_classes.map{|a| a.to_s.underscore+"_"+b.to_s.underscore.pluralize}
132
- end
133
- passsingles = makena_classes.map{|a| a.to_s.underscore.pluralize}
134
- @makena_classes_connecting_u = passsingles & passdoubles
135
- end
136
- @makena_classes_connecting_u
137
- end
138
-
139
- #makena_classes_u
140
- #=> ["user", "foo", "foobar"]
141
- def makena_classes_u
142
- unless @makena_classes_u
143
- passdoubles=[]
144
- for b in makena_classes
145
- passdoubles += makena_classes.map{|a| a.to_s.underscore+"_"+b.to_s.underscore.pluralize}
146
- end
147
- passsingles = makena_classes.map{|a| a.to_s.underscore.pluralize}
148
- @makena_classes_u = passsingles - passdoubles
149
- end
150
- @makena_classes_u
151
- end
152
-
153
- #makena_classes_u_p_sym
154
- #=> [:users, :foos, :foobars]
155
- def makena_classes_u_p_sym
156
- unless @makena_classes_u_p_sym
157
- @makena_classes_u_p_sym = makena_classes_u.map{|a| a.underscore.pluralize.to_sym}
158
- end
159
- @makena_classes_u_p_sym
160
- end
161
-
162
- #makena_classes_u_p_sym_assocs_s_p(@user)
163
- # => ["spots", "friendships"]
164
- def makena_classes_u_p_sym_assocs_s_p(obj)
165
- makena_classes_u_p_sym.map{|a| obj.class.reflect_on_association(a).present? ? a.to_s : nil}.uniq-[nil]
166
- end
167
-
168
- #makena_senders(@user)
169
- # => ["spots", "friendships"]
170
- def makena_senders(obj)
171
- makena_classes_u_p_sym_assocs_s_p(obj)
172
- end
173
-
174
- # Generate list of possible foreign ids, example "user_id"
175
- def makena_params
176
- Rails.application.eager_load!
177
- dants = ActiveRecord::Base.descendants
178
- return dants.map{|a| a.to_s}.map{|a| [a.underscore+"_parent_id", a.underscore+"_id", a.underscore+"_child_id"]}.flatten
179
- end
180
-
181
- end
@@ -1,3 +0,0 @@
1
- module Makena
2
- VERSION = "0.0.5"
3
- end
@@ -1,225 +0,0 @@
1
- module Views
2
-
3
- # Capitalize first letter, leave the rest as is
4
- def headline(string=nil)
5
- if string.present?
6
- pass = string.to_s.slice(0,1).capitalize + string.to_s.slice(1..-1)
7
- else
8
- pass = ""
9
- end
10
- end
11
-
12
- # Object is looping
13
- def is_looping(obj=nil)
14
- if (obj||=nil).present?
15
- @looping_objs||={}
16
- @looping_objs[obj.class.to_s]||=[]
17
- if @looping_objs[obj.class.to_s].include?(obj.id)
18
- return true
19
- else
20
- @looping_objs[obj.class.to_s] << obj.id
21
- return false
22
- end
23
- else
24
- false
25
- end
26
- end
27
-
28
- # content = "Welcome to http://www.mine.com/. Email me at me@mine.com."
29
- # auto_link content, html: {target: '_blank'} do |text|; truncate(text, length: 15); end
30
- # markdown content
31
- #=> "Welcome to <a href='http://www.mine.com/'>http://www.mine.com/</a>. Email me..."
32
- # Starring:
33
- # Redcarpet
34
- # Nokogiri
35
- # Albino
36
- # RailsAutolink
37
- # TODO - impliment - RailsAutolink
38
- def markdown(pass_content="", pass_options={})
39
- pass_content = auto_link( pass_content, html: {target: '_blank'} )
40
- pass_options.reverse_merge!(
41
- :hard_wrap => true,
42
- :filter_html => false,
43
- :no_intraemphasis => true,
44
- :fenced_code => true,
45
- :gh_blockcode => true
46
- )
47
- pass_options.reject! { |k, v| !v }
48
- pass_content = Redcarpet.new(pass_content, *pass_options.keys).to_html
49
- pass_doc = Nokogiri::HTML(pass_content)
50
- pass_doc.search("//pre[@lang]").each do |pass_pre|
51
- pass_pre.replace Albino.colorize(pass_pre.text.rstrip, pass_pre[:lang])
52
- end
53
- pass_doc.to_s.html_safe
54
- end
55
-
56
- # turn any string into a complete underscore
57
- def underscore(pass="")
58
- pass.to_s.strip.humanize.downcase.gsub(/[^a-z0-9-]/,"_")
59
- end
60
-
61
- # Object is not looping
62
- def not_looping(obj)
63
- !is_looping(obj)
64
- end
65
-
66
- # div collapsible generator
67
- def div_collapse(hsh={}, obj=nil)
68
- result=""
69
- if hsh.class.to_s=="Hash"
70
- for key in hsh.keys
71
- pass_key = key.to_s.split("__")
72
- key = long_key.shift
73
- options = long_key.shift.to_s.split("_")
74
- sender = long_key.shift
75
- content = content_tag(:h3, key.to_s.humanize )
76
- content << div_collapse(obj, hsh[key])
77
- content = content_tag(:div, content, data: {role: "collapsible", collapsed: "true"})
78
- content = content_tag(:div, content, data: {role: "collapsible-set"})
79
- result << content
80
- end
81
- elsif key.to_s=="pass"
82
- result << content_tag(:div, raw( key ) )
83
- end
84
- raw result
85
- end
86
-
87
- def div_collapse_content(obj, key, hsh, options="[]", sender="name")
88
- content = ""
89
- if obj.class.method_defined?(key.to_s)
90
- objs = obj.send(key.to_s)
91
- objs = objs.class.to_s=="Array" ? objs : [objs]
92
- content << render( "layouts/collapsible/objs", obj: obj, objs: objs, header: key.to_s.humanize, sender: sender, options: options)
93
- end
94
- raw content
95
- end
96
-
97
- # jquery mobile link with prefetch
98
- def link_to_prefetch(*args)
99
- link_to_builder(%w(prefetch)+args)
100
- end
101
-
102
- # jquery mobile link that feels like a button, pass obj, or name, obj/path, args
103
- def link_to_button(*args)
104
- unless ["String","NilClass"].include?(args.first.class.to_s)
105
- obj = args.shift
106
- pass_name = makena(obj, :name)
107
- pass_obj_or_path = obj
108
- pass_extra = args.shift
109
- args = [pass_name, pass_obj_or_path, pass_extra]
110
- end
111
- link_to_builder(%w(button)+args)
112
- end
113
-
114
- # jquery mobile link inline for multiple buttons per line
115
- def link_to_inline(*args)
116
- link_to_builder(%w(inline)+args)
117
- end
118
-
119
- # jquery mobile link inline for multiple buttons per line
120
- def link_to_inline_destroy(pass_obj_or_path)
121
- pass_class = pass_obj_or_path.new_record? ? "ui-disabled" : ""
122
- link_to "DESTROY", pass_obj_or_path, method: :delete, data: {role: "button", inline: "true", confirm: "Are you sure?"}, class: pass_class
123
- end
124
-
125
- # links in button form and disables if at that url
126
- def link_to_builder(*args)
127
- args.flatten!
128
- pass_type = args.shift.to_s
129
- pass_name = args.shift.to_s
130
- pass_obj_or_path = args.shift
131
- pass_extra = args.shift
132
- if pass_obj_or_path.class.to_s!="String" and
133
- pass_obj_or_path.attribute_names.include?("image")
134
- if pass_obj_or_path.image? and
135
- pass_obj_or_path.image_url(:small)
136
- pass_image = (Rails.env.test? ? "_image_showing" : "")+
137
- "#{image_tag(pass_obj_or_path.image_url(:small).to_s)}"
138
- else
139
- pass_image = image_tag("orb.gif")
140
- end
141
- else
142
- pass_image = ""
143
- end
144
- pass_style="text-overflow:normal;overflow:visible;white-space:pre-wrap;"
145
- if current_page?(pass_obj_or_path)
146
- pass_class = 'ui-disabled'
147
- else
148
- pass_class = ''
149
- end
150
- case pass_type
151
- when "inline"
152
- pass_name = pass_image+" "+pass_name
153
- if current_page?(pass_obj_or_path)
154
- pass_link_data = {data: {role: "button", inline: "true"}, class: "ui-disabled"}
155
- else
156
- pass_link_data = {data: {role: "button", inline: "true"}}
157
- end
158
- raw(link_to( raw(pass_name), pass_obj_or_path, pass_link_data ))
159
- when "button"
160
- pass_name += pass_image
161
- if current_page?(pass_obj_or_path)
162
- pass_link_data = {data: \
163
- {role: "button", inline: "false", prefetch: true},
164
- style: pass_style,
165
- class: "ui-disabled"}
166
- else
167
- pass_link_data = {data: {role: "button", inline: "false", prefetch: true}, style: pass_style}
168
- end
169
- pass_ul_data = {data: {role: "listview", inset: "true"} }
170
- content_tag(:ul, content_tag(:li,
171
- raw(link_to( raw(pass_name), pass_obj_or_path, pass_link_data ) ) ), pass_ul_data)
172
- when "prefetch"
173
- raw("<ul data-role='listview' data-inset='true' \><li><a href='#{pass_obj_or_path}'
174
- data-prefetch
175
- data-role='button'
176
- style='#{pass_style}'
177
- class='#{pass_class}' />#{raw(pass_name)}#{raw(pass_image)}</a></li></ul>")
178
- end
179
- end
180
-
181
- # links in button form and disables if at that url
182
- def link_to_with_image(*args)
183
- args.flatten!
184
- pass_image = (args.shift.to_s or image_tag("white.png"))
185
- pass_name = args.shift.to_s+pass_image.to_s
186
- pass_obj_or_path = args.shift
187
- pass_extra = args.shift
188
- pass_style="text-overflow:normal;overflow:visible;white-space:pre-wrap;"
189
- if current_page?(pass_obj_or_path)
190
- pass_class = 'ui-disabled'
191
- else
192
- pass_class = ''
193
- end
194
- if current_page?(pass_obj_or_path)
195
- pass_link_data = {data: {role: "button", prefetch: true}, style: pass_style, class: "ui-disabled"}
196
- else
197
- pass_link_data = {data: {role: "button", inline: "false", prefetch: true}, style: pass_style}
198
- end
199
- pass_ul_data = {data: {role: "listview", inset: "true"} }
200
- content_tag(:ul, content_tag(:li,
201
- raw(link_to( raw(pass_name), pass_obj_or_path, pass_link_data ) ) ), pass_ul_data)
202
- end
203
-
204
- def link_to_back
205
- hsh_b = {data: {role: "button", rel: "back", icon: "back", direction: "reverse", prefetch: true} }
206
- link_to "BACK", "#", hsh_b
207
- end
208
-
209
- def link_to_mapped_user(user=@user)
210
- passpath = ""
211
- if params[:lat_a].present?
212
- passpath << "/user/home/#{params[:lat_a].to_s}.#{params[:lat_b].to_s}"
213
- passpath << "/#{params[:long_a].to_s}.#{params[:long_b].to_s}"
214
- else
215
- passpath << "/user/home/#{user.latitude.to_s}/#{user.longitude.to_s}"
216
- end
217
- if current_page?(passpath)
218
- link_to user.name, passpath, data:{role:"button",icon:"heart"}, class:"ui-disabled"
219
- else
220
- link_to user.name, passpath, data:{role:"button",icon:"heart"}
221
- end
222
- end
223
-
224
- end
225
-