Gemfile 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. #
  2. # The default setup of Huginn is pretty large and may not fit on
  3. # servers with lower RAM. To conserve RAM, you can turn off some of
  4. # the Agent types you don't need and avoid loading their dependencies.
  5. # To do this, list the gem groups you want to opt out of after
  6. # `--without` when you run `bundle` like this:
  7. #
  8. # bundle --without basecamp human_task jabber mqtt weibo
  9. #
  10. # For production deployment, you can also omit gems used only for
  11. # development like this:
  12. #
  13. # bundle install --deployment --without development test basecamp human_task jabber mqtt weibo
  14. #
  15. # Here's the list of gem groups enabled by default but optional:
  16. #
  17. # Group | Use(s)
  18. # ------------- | --------------------------
  19. # development | development
  20. # test | running tests
  21. # basecamp | BasecampAgent
  22. # dropbox | Dropbox Agents
  23. # ftpsite | FtpsiteAgent
  24. # github | GitHub Agents
  25. # google_api | GoogleCalendarPublishAgent
  26. # growl | GrowlAgent
  27. # hipchat | HipchatAgent
  28. # human_task | HumanTaskAgent
  29. # jabber | JabberAgent
  30. # mqtt | MqttAgent
  31. # pdf_info | PdfInfoAgent
  32. # slack | SlackAgent
  33. # tumblr | Tumblr Agents
  34. # twilio | TwilioAgent
  35. # twitter | Twitter Agents
  36. # user_location | UserLocationAgent
  37. # weather | WeatherAgent
  38. # weibo | Weibo Agents
  39. # wunderlist | WunderListAgent
  40. #
  41. source 'https://rubygems.org'
  42. # Bundler <1.5 does not recognize :x64_mingw as a valid platform name.
  43. # Unfortunately, it can't self-update because it errors when encountering :x64_mingw.
  44. unless Gem::Version.new(Bundler::VERSION) >= Gem::Version.new('1.5.0')
  45. STDERR.puts "Bundler >=1.5.0 is required. Please upgrade bundler with 'gem install bundler'"
  46. exit 1
  47. end
  48. def optional
  49. group :optional, &proc
  50. end
  51. # Let optional gems optional
  52. Bundler.settings.without |= [:optional]
  53. # Essential gems.
  54. gem 'protected_attributes', '~>1.0.8' # This must be loaded before some other gems, like delayed_job.
  55. gem 'ace-rails-ap', '~> 2.0.1'
  56. gem 'bootstrap-kaminari-views', '~> 0.0.3'
  57. gem 'bundler', '>= 1.5.0'
  58. gem 'coffee-rails', '~> 4.1.0'
  59. gem 'daemons', '~> 1.1.9'
  60. gem 'delayed_job', '~> 4.0.0'
  61. gem 'delayed_job_active_record', '~> 4.0.0'
  62. gem 'devise', '~> 3.4.0'
  63. gem 'dotenv-rails', '~> 2.0.1'
  64. gem 'em-http-request', '~> 1.1.2'
  65. gem 'faraday', '~> 0.9.0'
  66. gem 'faraday_middleware'
  67. gem 'feed-normalizer'
  68. gem 'font-awesome-sass', '~> 4.3'
  69. gem 'foreman', '~> 0.63.0'
  70. # geokit-rails doesn't work with geokit 1.8.X but it specifies ~> 1.5
  71. # in its own Gemfile.
  72. gem 'geokit', '~> 1.8.4'
  73. gem 'geokit-rails', '~> 2.0.1'
  74. gem 'httparty', '~> 0.13'
  75. gem 'jquery-rails', '~> 3.1.0'
  76. gem 'json', '~> 1.8.1'
  77. gem 'jsonpath', '~> 0.5.6'
  78. gem 'kaminari', '~> 0.16.1'
  79. gem 'kramdown', '~> 1.3.3'
  80. gem 'liquid', '~> 2.6.1'
  81. gem 'mini_magick'
  82. gem 'mysql2', '~> 0.3.16'
  83. gem 'multi_xml'
  84. gem 'nokogiri', '~> 1.6.4'
  85. gem 'omniauth'
  86. gem 'rails' , '4.2.1'
  87. gem 'rufus-scheduler', '~> 3.0.8', require: false
  88. gem 'sass-rails', '~> 5.0'
  89. gem 'select2-rails', '~> 3.5.4'
  90. gem 'spectrum-rails'
  91. gem 'string-scrub' # for ruby <2.1
  92. gem 'therubyracer', '~> 0.12.2'
  93. gem 'typhoeus', '~> 0.6.3'
  94. gem 'uglifier', '>= 1.3.0'
  95. group :production do
  96. gem 'rack'
  97. end
  98. # Platform requirements.
  99. gem 'ffi', '>= 1.9.4' # required by typhoeus; 1.9.4 has fixes for *BSD.
  100. gem 'tzinfo', '>= 1.2.0' # required by rails; 1.2.0 has support for *BSD and Solaris.
  101. # Windows does not have zoneinfo files, so bundle the tzinfo-data gem.
  102. gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
  103. # Introduces a scope for Heroku specific gems.
  104. def on_heroku
  105. if ENV['ON_HEROKU'] ||
  106. ENV['HEROKU_POSTGRESQL_ROSE_URL'] ||
  107. ENV['HEROKU_POSTGRESQL_GOLD_URL'] ||
  108. File.read(File.join(File.dirname(__FILE__), 'Procfile')) =~ /intended for Heroku/
  109. yield
  110. else
  111. # When not on Heroku, we still want our Gemfile.lock to include
  112. # Heroku specific gems, so we scope them to an unsupported
  113. # platform.
  114. platform :ruby_18, &proc
  115. end
  116. end
  117. on_heroku do
  118. gem 'pg'
  119. gem 'unicorn'
  120. gem 'rails_12factor', group: :production
  121. end
  122. # Development dependencies.
  123. group :development do
  124. gem 'better_errors', '~> 1.1'
  125. gem 'binding_of_caller'
  126. gem 'quiet_assets'
  127. gem 'guard'
  128. gem 'guard-livereload'
  129. gem 'guard-rspec'
  130. group :test do
  131. gem 'coveralls', require: false
  132. gem 'delorean'
  133. gem 'pry-rails'
  134. gem 'rr'
  135. gem 'rspec', '~> 3.2'
  136. gem 'rspec-collection_matchers', '~> 1.1.0'
  137. gem 'rspec-rails', '~> 3.1'
  138. gem 'rspec-html-matchers', '~> 0.7'
  139. gem 'shoulda-matchers'
  140. gem 'spring', '~> 1.3.0'
  141. gem 'spring-commands-rspec'
  142. gem 'vcr'
  143. gem 'webmock', '~> 1.17.4', require: false
  144. end
  145. end
  146. # Optional libraries.
  147. optional do
  148. gem 'twilio-ruby', '~> 3.11.5', group: :twilio # TwilioAgent
  149. gem 'ruby-growl', '~> 4.1.0', group: :growl # GrowlAgent
  150. gem 'net-ftp-list', '~> 3.2.8', group: :ftpsite # FtpsiteAgent
  151. gem 'wunderground', '~> 1.2.0', group: :weather # WeatherAgent
  152. gem 'forecast_io', '~> 2.0.0', group: :weather # WeatherAgent
  153. gem 'rturk', '~> 2.12.1', group: :human_task # HumanTaskAgent
  154. gem 'hipchat', '~> 1.2.0', group: :hipchat # HipchatAgent
  155. gem 'xmpp4r', '~> 0.5.6', group: :jabber # JabberAgent
  156. gem 'mqtt', group: :mqtt # MqttAgent
  157. gem 'slack-notifier', '~> 1.0.0', group: :slack # SlackAgent
  158. gem 'hypdf', '~> 1.0.7', group: :pdf_info # PdfInfoAgent
  159. # Weibo Agents
  160. gem 'weibo_2', github: 'cantino/weibo_2', branch: 'master', group: :weibo
  161. # GoogleCalendarPublishAgent
  162. gem "google-api-client", require: 'google/api_client', group: :google_api
  163. # Twitter Agents
  164. group :twitter do
  165. gem 'twitter', '~> 5.14.0' # Must to be loaded before cantino-twitter-stream.
  166. gem 'twitter-stream', github: 'cantino/twitter-stream', branch: 'huginn'
  167. gem 'omniauth-twitter'
  168. end
  169. # Tumblr Agents
  170. group :tumblr do
  171. gem 'tumblr_client'
  172. gem 'omniauth-tumblr'
  173. end
  174. # Dropbox Agents
  175. group :dropbox do
  176. gem 'dropbox-api'
  177. gem 'omniauth-dropbox'
  178. end
  179. # UserLocationAgent
  180. group :user_location do
  181. gem 'haversine'
  182. end
  183. # Optional services.
  184. # BasecampAgent
  185. group :basecamp do
  186. gem 'omniauth-37signals'
  187. end
  188. # GitHub
  189. group :github do
  190. gem 'omniauth-github'
  191. end
  192. # WunderListAgent
  193. group :wunderlist do
  194. gem 'omniauth-wunderlist', github: 'wunderlist/omniauth-wunderlist', ref: 'd0910d0396107b9302aa1bc50e74bb140990ccb8'
  195. end
  196. end