ish_lib_engine 0.0.1

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.
Files changed (176) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +34 -0
  5. data/app/assets/javascripts/ish_lib_engine/application.js +13 -0
  6. data/app/assets/javascripts/ish_lib_engine/articles.js +2 -0
  7. data/app/assets/stylesheets/ish_lib_engine/application.css +15 -0
  8. data/app/assets/stylesheets/ish_lib_engine/articles.css +4 -0
  9. data/app/assets/stylesheets/scaffold.css +56 -0
  10. data/app/controllers/ish_lib_engine/application_controller.rb +4 -0
  11. data/app/controllers/ish_lib_engine/articles_controller.rb +62 -0
  12. data/app/controllers/ish_lib_engine/manager/cities_controller.rb +95 -0
  13. data/app/controllers/ish_lib_engine/manager/cities_controller.rb~ +95 -0
  14. data/app/controllers/ish_lib_engine/manager/features_controller.rb +122 -0
  15. data/app/controllers/ish_lib_engine/manager/features_controller.rb~ +122 -0
  16. data/app/controllers/ish_lib_engine/manager/galleries_controller.rb +78 -0
  17. data/app/controllers/ish_lib_engine/manager/galleries_controller.rb~ +78 -0
  18. data/app/controllers/ish_lib_engine/manager/manager_controller.rb +31 -0
  19. data/app/controllers/ish_lib_engine/manager/manager_controller.rb~ +31 -0
  20. data/app/controllers/ish_lib_engine/manager/newsitems_controller.rb +47 -0
  21. data/app/controllers/ish_lib_engine/manager/newsitems_controller.rb~ +47 -0
  22. data/app/controllers/ish_lib_engine/manager/photos_controller.rb +20 -0
  23. data/app/controllers/ish_lib_engine/manager/photos_controller.rb~ +20 -0
  24. data/app/controllers/ish_lib_engine/manager/reports_controller.rb +62 -0
  25. data/app/controllers/ish_lib_engine/manager/reports_controller.rb~ +62 -0
  26. data/app/controllers/ish_lib_engine/manager/sites_controller.rb +72 -0
  27. data/app/controllers/ish_lib_engine/manager/sites_controller.rb~ +72 -0
  28. data/app/controllers/ish_lib_engine/manager/tags_controller.rb +54 -0
  29. data/app/controllers/ish_lib_engine/manager/tags_controller.rb~ +54 -0
  30. data/app/controllers/ish_lib_engine/manager/users_controller.rb +13 -0
  31. data/app/controllers/ish_lib_engine/manager/users_controller.rb~ +13 -0
  32. data/app/controllers/ish_lib_engine/manager/welcome_controller.rb +8 -0
  33. data/app/controllers/ish_lib_engine/manager/welcome_controller.rb~ +9 -0
  34. data/app/helpers/ish_lib_engine/application_helper.rb +4 -0
  35. data/app/helpers/ish_lib_engine/articles_helper.rb +4 -0
  36. data/app/models/ability.rb +152 -0
  37. data/app/models/ability.rb~ +151 -0
  38. data/app/models/admin_user.rb +113 -0
  39. data/app/models/app_model2.rb +33 -0
  40. data/app/models/auth_token.rb +17 -0
  41. data/app/models/aux_model.rb +22 -0
  42. data/app/models/cities_user.rb +17 -0
  43. data/app/models/city.rb +117 -0
  44. data/app/models/country.rb +13 -0
  45. data/app/models/day.rb +21 -0
  46. data/app/models/decoded_auth_token.rb +6 -0
  47. data/app/models/event.rb +21 -0
  48. data/app/models/feature.rb +38 -0
  49. data/app/models/gallery.rb +59 -0
  50. data/app/models/ish_lib_engine/article.rb +4 -0
  51. data/app/models/ish_lib_engine/comment.rb +4 -0
  52. data/app/models/manager.rb +10 -0
  53. data/app/models/manager_city.rb +4 -0
  54. data/app/models/manager_feature.rb +4 -0
  55. data/app/models/manager_gallery.rb +3 -0
  56. data/app/models/manager_newsitem.rb +5 -0
  57. data/app/models/manager_photo.rb +3 -0
  58. data/app/models/manager_report.rb +4 -0
  59. data/app/models/manager_site.rb +4 -0
  60. data/app/models/manager_tag.rb +6 -0
  61. data/app/models/manager_user.rb +3 -0
  62. data/app/models/manager_venue.rb +4 -0
  63. data/app/models/message.rb +14 -0
  64. data/app/models/newsitem.rb +50 -0
  65. data/app/models/nodeitem.rb +18 -0
  66. data/app/models/photo.rb +68 -0
  67. data/app/models/rate_me.rb +13 -0
  68. data/app/models/report.rb +144 -0
  69. data/app/models/review.rb +4 -0
  70. data/app/models/site.rb +83 -0
  71. data/app/models/tag.rb +78 -0
  72. data/app/models/user.rb +122 -0
  73. data/app/models/user_profile.rb +20 -0
  74. data/app/models/venue.rb +69 -0
  75. data/app/models/video.rb +48 -0
  76. data/app/models/welcome.rb +6 -0
  77. data/app/models/wikitravel_page.rb +19 -0
  78. data/app/views/application/_flash_messages.haml +24 -0
  79. data/app/views/application/_flash_messages.haml~ +24 -0
  80. data/app/views/ish_lib_engine/articles/_form.html.erb +25 -0
  81. data/app/views/ish_lib_engine/articles/edit.html.erb +6 -0
  82. data/app/views/ish_lib_engine/articles/index.html.erb +29 -0
  83. data/app/views/ish_lib_engine/articles/new.html.erb +5 -0
  84. data/app/views/ish_lib_engine/articles/show.html.erb +14 -0
  85. data/app/views/layouts/ish_lib_engine/application.html.erb +14 -0
  86. data/config/routes.rb +3 -0
  87. data/db/migrate/20160501041837_create_ish_lib_engine_articles.rb +10 -0
  88. data/db/migrate/20160501041940_create_ish_lib_engine_comments.rb +10 -0
  89. data/lib/addressbookitems_tasks.rb +33 -0
  90. data/lib/cities_tasks.rb +143 -0
  91. data/lib/core_extensions.rb +21 -0
  92. data/lib/features_tasks.rb +17 -0
  93. data/lib/float.rb +14 -0
  94. data/lib/galleries_tasks.rb +91 -0
  95. data/lib/ish_lib_engine.rb +4 -0
  96. data/lib/ish_lib_engine/engine.rb +5 -0
  97. data/lib/ish_lib_engine/version.rb +3 -0
  98. data/lib/reports_tasks.rb +53 -0
  99. data/lib/sitemaps_tasks.rb +108 -0
  100. data/lib/sites_tasks.rb +31 -0
  101. data/lib/string.rb +15 -0
  102. data/lib/tags_tasks.rb +104 -0
  103. data/lib/tasks/cities.rake +29 -0
  104. data/lib/tasks/galleries.rake +19 -0
  105. data/lib/tasks/ish_lib_engine_tasks.rake +4 -0
  106. data/lib/tasks/reports.rake +37 -0
  107. data/lib/tasks/resque.rake +8 -0
  108. data/lib/tasks/sitemaps.rake +12 -0
  109. data/lib/tasks/sites.rake +12 -0
  110. data/lib/tasks/tags.rake +17 -0
  111. data/lib/tasks/users.rake +14 -0
  112. data/lib/tasks/venues.rake +13 -0
  113. data/lib/tasks/videos.rake +18 -0
  114. data/lib/tasks/wikitravel_pages.rake +40 -0
  115. data/lib/test_extensions.rb +9 -0
  116. data/lib/u.rb +34 -0
  117. data/lib/users_tasks.rb +88 -0
  118. data/lib/venues_tasks.rb +15 -0
  119. data/lib/videos_tasks.rb +71 -0
  120. data/lib/wikitravel_tasks.rb +139 -0
  121. data/spec/factories/cities.rb +89 -0
  122. data/spec/factories/galleries.rb +133 -0
  123. data/spec/factories/photo.rb +20 -0
  124. data/spec/factories/reports.rb +379 -0
  125. data/spec/factories/site.rb +26 -0
  126. data/spec/factories/tag.rb +42 -0
  127. data/spec/factories/user.rb +87 -0
  128. data/spec/factories/user_profiles.rb +33 -0
  129. data/spec/factories/venues.rb +25 -0
  130. data/spec/factories/videos.rb +38 -0
  131. data/test/controllers/ish_lib_engine/articles_controller_test.rb +52 -0
  132. data/test/dummy/README.rdoc +28 -0
  133. data/test/dummy/Rakefile +6 -0
  134. data/test/dummy/app/assets/javascripts/application.js +13 -0
  135. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  136. data/test/dummy/app/controllers/application_controller.rb +5 -0
  137. data/test/dummy/app/helpers/application_helper.rb +2 -0
  138. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  139. data/test/dummy/bin/bundle +3 -0
  140. data/test/dummy/bin/rails +4 -0
  141. data/test/dummy/bin/rake +4 -0
  142. data/test/dummy/bin/setup +29 -0
  143. data/test/dummy/config.ru +4 -0
  144. data/test/dummy/config/application.rb +26 -0
  145. data/test/dummy/config/boot.rb +5 -0
  146. data/test/dummy/config/database.yml +25 -0
  147. data/test/dummy/config/environment.rb +5 -0
  148. data/test/dummy/config/environments/development.rb +41 -0
  149. data/test/dummy/config/environments/production.rb +79 -0
  150. data/test/dummy/config/environments/test.rb +42 -0
  151. data/test/dummy/config/initializers/assets.rb +11 -0
  152. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  153. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  154. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  155. data/test/dummy/config/initializers/inflections.rb +16 -0
  156. data/test/dummy/config/initializers/mime_types.rb +4 -0
  157. data/test/dummy/config/initializers/session_store.rb +3 -0
  158. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  159. data/test/dummy/config/locales/en.yml +23 -0
  160. data/test/dummy/config/routes.rb +4 -0
  161. data/test/dummy/config/secrets.yml +22 -0
  162. data/test/dummy/db/development.sqlite3 +0 -0
  163. data/test/dummy/db/schema.rb +30 -0
  164. data/test/dummy/log/development.log +15 -0
  165. data/test/dummy/public/404.html +67 -0
  166. data/test/dummy/public/422.html +67 -0
  167. data/test/dummy/public/500.html +66 -0
  168. data/test/dummy/public/favicon.ico +0 -0
  169. data/test/fixtures/ish_lib_engine/articles.yml +9 -0
  170. data/test/fixtures/ish_lib_engine/comments.yml +9 -0
  171. data/test/integration/navigation_test.rb +8 -0
  172. data/test/ish_lib_engine_test.rb +7 -0
  173. data/test/models/ish_lib_engine/article_test.rb +9 -0
  174. data/test/models/ish_lib_engine/comment_test.rb +9 -0
  175. data/test/test_helper.rb +21 -0
  176. metadata +361 -0
@@ -0,0 +1,31 @@
1
+ require 'rubygems'
2
+ require 'builder'
3
+
4
+ class SitesTasks < ActionController::Base
5
+
6
+ def pretty_date args
7
+ args.strftime('%Y-%m-%d')
8
+ end
9
+
10
+ def self.n_reports_galleries
11
+ Site.each do |site|
12
+ puts! site
13
+ save = false
14
+ if site.n_galleries.blank?
15
+ site.n_galleries = site.galleries.length
16
+ save = true
17
+ end
18
+ if site.n_reports.blank?
19
+ site.n_reports = site.reports.length
20
+ save = true
21
+ end
22
+ if save
23
+ if site.save
24
+ puts( "+++ +++ Site #{site.domain}/#{site.lang}" )
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+ end
31
+
data/lib/string.rb ADDED
@@ -0,0 +1,15 @@
1
+
2
+ class String
3
+
4
+ def to_simple_string
5
+ a = self.gsub("\.", '-')
6
+ a = a.gsub(':', '-').gsub('%20', '-')
7
+ a = a.downcase.strip.gsub(' ', '-')
8
+ while a.include? '--'
9
+ a = a.sub("--", '-')
10
+ end
11
+ a = a.gsub(/-$/, '')
12
+ a
13
+ end
14
+
15
+ end
data/lib/tags_tasks.rb ADDED
@@ -0,0 +1,104 @@
1
+
2
+ require 'cgi'
3
+
4
+ class TagsTasks
5
+
6
+ def self.to_mongodb
7
+
8
+ # get all tags
9
+ old_tags = Tag.find :all
10
+
11
+ # put them in mongoid
12
+ old_tags.each do |old|
13
+ new = NoTag.new
14
+
15
+ new.name = old.name
16
+ new.name_seo = old.name_seo
17
+ # new.subhead = old.subhead
18
+ new.descr = old.descr
19
+
20
+ new.domain = 'sedux.local'
21
+
22
+ new.created_at = old.created_at
23
+ new.updated_at = old.updated_at
24
+
25
+ new.is_public = 1
26
+ new.is_feature = 0
27
+ new.is_trash = 0
28
+
29
+ new.lang = 'en'
30
+
31
+ new.save
32
+
33
+ end
34
+
35
+ end
36
+
37
+ def self.name_to_name_en
38
+ Tag.all.each do |tag|
39
+ tag.name_en = tag.name
40
+ if '' == tag.name_pt
41
+ tag.name_pt = tag.name_en
42
+ end
43
+ if '' == tag.name_ru
44
+ tag.name_ru = tag.name_en
45
+ end
46
+ flag = tag.save
47
+ if flag
48
+ puts '+'
49
+ else
50
+ puts tag.errors.inspect
51
+ end
52
+ end
53
+ end
54
+
55
+ end
56
+
57
+
58
+
59
+ #class NoTag
60
+ #
61
+ # include Mongoid::Document
62
+ #
63
+ # field :name, :type => String
64
+ # field :name_seo, :type => String
65
+ # field :subhead, :type => String
66
+ # field :descr, :type => String
67
+ # field :domain, :type => String
68
+ #
69
+ # has_many :reports
70
+ # accepts_nested_attributes_for :reports, :allow_destroy => false
71
+ #
72
+ # has_many :galleries
73
+ # accepts_nested_attributes_for :galleries, :allow_destroy => false
74
+ #
75
+ # belongs_to :parent_tag, :class_name => 'Tag', :inverse_of => :children_tags
76
+ # has_many :children_tags, :class_name => 'Tag', :inverse_of => :parent_tag
77
+ # accepts_nested_attributes_for :children_tags, :allow_destroy => false
78
+ # accepts_nested_attributes_for :parent_tag, :allow_destroy => false
79
+ #
80
+ # field :created_at, :type => DateTime
81
+ # field :updated_at, :type => DateTime
82
+ #
83
+ # field :is_public, :type => Boolean
84
+ # field :is_feature, :type => Boolean
85
+ # field :is_trash, :type => Boolean
86
+ #
87
+ #end
88
+ #
89
+ #create_table "tags", :force => true do |t|
90
+ # t.string "name", :limit => 200, :null => false
91
+ # t.string "name_seo", :limit => 600, :null => false
92
+ # t.text "descr"
93
+ # t.integer "parent_id", :default => 1
94
+ # t.integer "user_id", :default => 0, :null => false
95
+ # t.timestamp "created_at", :null => false
96
+ # t.timestamp "updated_at", :null => false
97
+ # t.integer "is_public", :default => 1, :null => false
98
+ # t.boolean "is_feature", :default => false, :null => false
99
+ # t.boolean "is_trash", :default => false, :null => false
100
+ # t.string "name_pt"
101
+ # t.string "descr_pt"
102
+ # t.integer "language_id"
103
+ # t.string "lang", :default => "en"
104
+ # end
@@ -0,0 +1,29 @@
1
+
2
+
3
+ require 'reports_tasks'
4
+ require 'cities_tasks'
5
+
6
+ namespace :cities do
7
+
8
+ desc 'to mongoid'
9
+ task :to_mongoid => :environment do
10
+ CitiesTasks.to_mongoid
11
+ end
12
+
13
+ desc 'attach reports to cities'
14
+ task :attach_reports_to_cities => :environment do
15
+ CitiesTasks.attach_reports_to_cities
16
+ end
17
+
18
+ desc 'refresh_features cityname=some_cityname -OR- cities:refresh_features (all)'
19
+ task :refresh_features => :environment do
20
+ CitiesTasks.new.refresh_features ENV['cityname']
21
+ end
22
+
23
+ desc 'refresh_newsitems cityname=cityname OR refresh_newsitems'
24
+ task :refresh_newsitems => :environment do
25
+ CitiesTasks.new.refresh_newsitems ENV['cityname']
26
+ end
27
+
28
+ end
29
+
@@ -0,0 +1,19 @@
1
+
2
+
3
+ require 'galleries_tasks'
4
+
5
+ namespace :galleries do
6
+
7
+ desc "clean_name_seo"
8
+ task :clean_name_seo => :environment do
9
+ GalleriesTasks.clean_name_seo
10
+ end
11
+
12
+
13
+ desc 'to_mongoid'
14
+ task :to_mongoid => :environment do
15
+ GalleriesTasks.to_mongoid
16
+ end
17
+
18
+ end
19
+
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :ish_lib_engine do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,37 @@
1
+ require 'reports_tasks'
2
+
3
+ namespace :reports do
4
+
5
+ desc 'attached_photos_to_mongoid'
6
+ task :attached_photos_to_mongoid => :environment do
7
+ ReportsTasks.attached_photos_to_mongoid
8
+ end
9
+
10
+ desc "migrate some features to mongoid"
11
+ task :some_features => :environment do
12
+ ReportsTasks.some_features
13
+
14
+ end
15
+
16
+ desc 'to mongoid'
17
+ task :to_mongoid => :environment do
18
+ ReportsTasks.to_mongoid
19
+ end
20
+
21
+ desc 'parse one reuters article'
22
+ task :parse_reuters_technology_rss => :environment do
23
+ ReportsTasks.parse_reuters_technology_rss
24
+ end
25
+
26
+ desc 'empty trash'
27
+ task :empty_trash => :environment do
28
+ ReportsTasks.empty_trash
29
+ end
30
+
31
+ desc 'titleize'
32
+ task :titleize => :environment do
33
+ ;
34
+ end
35
+
36
+ end
37
+
@@ -0,0 +1,8 @@
1
+
2
+ require 'resque/tasks'
3
+
4
+ task "resque:setup" => :environment do
5
+ ENV['QUEUE'] ||= '*'
6
+ # for redistogo on heroku http://stackoverflow.com/questions/2611747/rails-resque-workers-fail-with-pgerror-server-closed-the-connection-unexpectedl
7
+ # Resque.before_fork = Proc.new { ActiveRecord::Base.establish_connection }
8
+ end
@@ -0,0 +1,12 @@
1
+ require 'sitemaps_tasks'
2
+
3
+ namespace :sitemaps do
4
+
5
+ desc 'generate'
6
+ task :generate => :environment do
7
+ s = SitemapsTasks.new( :lang => ENV['lang'], :domain => ENV['domain'], :verbose => ENV['verbose'] )
8
+ s.generate
9
+ end
10
+
11
+ end
12
+
@@ -0,0 +1,12 @@
1
+
2
+ require 'sites_tasks'
3
+
4
+ namespace :sites do
5
+
6
+ desc 'refreshes the denormalized numbers of reports and galleries in all sites.'
7
+ task :n_reports_galleries => :environment do
8
+ SitesTasks.n_reports_galleries
9
+ end
10
+
11
+ end
12
+
@@ -0,0 +1,17 @@
1
+
2
+ require 'tags_tasks'
3
+
4
+ namespace :tags do
5
+
6
+ desc " put from sql to mongoid "
7
+ task :to_mongoid => :environment do
8
+ TagsTasks.to_mongodb
9
+
10
+ end
11
+
12
+ desc 'name to name en'
13
+ task :name_to_name_en => :environment do
14
+ TagsTasks.name_to_name_en
15
+ end
16
+
17
+ end
@@ -0,0 +1,14 @@
1
+
2
+ require 'reports_tasks'
3
+ require 'users_tasks'
4
+
5
+ namespace :users do
6
+
7
+ desc 'import old uers from mysql with contest users onto mongodb.'
8
+ task :import_old => :environment do
9
+ UsersTasks.import_old
10
+ end
11
+
12
+
13
+ end
14
+
@@ -0,0 +1,13 @@
1
+
2
+
3
+ require 'venues_tasks'
4
+
5
+ namespace :venues do
6
+ desc "Generate name_seo"
7
+ task :generate_name_seo => :environment do
8
+
9
+ VenueTasks.generate_name_seo
10
+
11
+ end
12
+ end
13
+
@@ -0,0 +1,18 @@
1
+
2
+
3
+ require 'videos_tasks'
4
+
5
+ namespace :videos do
6
+
7
+ desc "To no_video"
8
+ task :to_no_video => :environment do
9
+ VideosTasks.to_no_video
10
+ end
11
+
12
+ desc 'Title to name'
13
+ task :title_to_name => :environment do
14
+ VideosTasks.title_to_name
15
+ end
16
+
17
+ end
18
+
@@ -0,0 +1,40 @@
1
+
2
+ require 'wikitravel_tasks'
3
+
4
+ namespace :wikitravel do
5
+
6
+ desc "deprecated? Usage: be rake wikitravel:random_page_to_newsitem domain='mobi.local'"
7
+ task :random_page_to_newsitem => :environment do
8
+ # takes too long
9
+ WikitravelTasks.parse_list_of_pages
10
+
11
+ w = WikitravelTasks.new
12
+ w.random_page_to_newsitem({ :domain => ENV['domain'] })
13
+ end
14
+
15
+ desc "Take manually precompiled list of pages off of wikitravel.org, and create a WikitravelPage for each one that does not exist."
16
+ task :parse_list_of_pages => :environment do
17
+ arguments = { :filename => ENV['filename'] }
18
+ WikitravelTasks.parse_list_of_pages arguments
19
+ end
20
+
21
+ desc "all pages"
22
+ task :all_pages_to_report_and_newsitems => :environment do
23
+ arg = { :domain => ENV['domain'], :lang => ENV['lang'] }
24
+ w = WikitravelTasks.new arg
25
+ w.all_pages_to_report_and_newsitems
26
+ end
27
+
28
+ desc "Cleanup reports"
29
+ task :cleanup_reports => :environment do
30
+ mobi = Site.where( :domain => 'travel-guide.mobi', :lang => 'en' ).first
31
+ reports = Report.where( :site => mobi )
32
+ reports.each do |r|
33
+ rr = WikitravelTasks.cleanup_report( r )
34
+ puts "cleaning up #{rr.name}"
35
+ rr.save
36
+ end
37
+ end
38
+
39
+ end
40
+
@@ -0,0 +1,9 @@
1
+
2
+
3
+
4
+
5
+ def create_users
6
+ User.all.each { |u| u.remove }
7
+ FactoryGirl.create :user
8
+ FactoryGirl.create :piousbox
9
+ end
data/lib/u.rb ADDED
@@ -0,0 +1,34 @@
1
+
2
+
3
+ class U
4
+
5
+
6
+ def self.clean_name_seo g
7
+
8
+ g[:name_seo] = CGI.escape(g[:name]).strip.
9
+ gsub('_', '-').
10
+ gsub('+', '-').
11
+ gsub('.', '-').
12
+ gsub("'", '').
13
+ gsub(",", '')
14
+
15
+ if g.save
16
+ ;
17
+ else
18
+ flag = false
19
+ old = g[:name_seo]
20
+ c = 1
21
+ while !flag
22
+ g[:name_seo] += "-#{c.to_s}"
23
+ flag = g.save
24
+ c += 1
25
+
26
+ break if c > 1000
27
+
28
+ end
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+