- dont use ~> 2.0! it will break if the user got a newer rails installed
[opensuse:build-service.git] / src / webclient / config / environment.rb
1 # Be sure to restart your web server when you modify this file.
2
3 # Uncomment below to force Rails into production mode when
4 # you don't control web/app server and can't set it the proper way
5 # ENV['RAILS_ENV'] ||= 'production'
6
7 # Bootstrap the Rails environment, frameworks, and default configuration
8 require File.join(File.dirname(__FILE__), 'boot')
9
10 RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
11
12 Rails::Initializer.run do |config|
13   # Settings in config/environments/* take precedence those specified here
14
15   # Skip frameworks you're not going to use
16   config.frameworks -= [ :action_web_service, :active_resource, :active_record ]
17
18   # Add additional load paths for your own custom dirs
19   # config.load_paths += %W( #{RAILS_ROOT}/extras )
20   if( RAILS_ENV ==  'production' )
21     config.load_paths << File.expand_path("/srv/www/opensuse/common/current/lib")
22   else
23     config.load_paths << File.expand_path("#{RAILS_ROOT}/../common/lib")
24   end
25
26   # Force all environments to use the same logger level
27   # (by default production uses :info, the others :debug)
28   # config.log_level = :debug
29
30   # Use the database for sessions instead of the file system
31   # (create the session table with 'rake create_sessions_table')
32   # config.action_controller.session_store = :active_record_store
33   config.action_controller.session = {
34     :prefix => "ruby_webclient_session",
35     :session_key => "opensuse_webclient_session",
36     :secret => "iofupo3i4u5097p09gfsnaf7g8974lh1j3khdlsufdzg9p889234"
37   }
38
39   # Enable page/fragment caching by setting a file-based store
40   # (remember to create the caching directory and make it readable to the application)
41   # config.action_controller.fragment_cache_store = :file_store, "#{RAILS_ROOT}/cache"
42
43   # Activate observers that should always be running
44   # config.active_record.observers = :cacher, :garbage_collector
45
46   # Make Active Record use UTC-base instead of local time
47   # config.active_record.default_timezone = :utc
48
49   # Use Active Record's schema dumper instead of SQL when creating the test database
50   # (enables use of different database adapters for development and test environments)
51   # config.active_record.schema_format = :ruby
52
53   # See Rails::Configuration for more options
54 end
55
56 # Add new inflection rules using the following format
57 # (all these examples are active by default):
58 # Inflector.inflections do |inflect|
59 #   inflect.plural /^(ox)$/i, '\1en'
60 #   inflect.singular /^(ox)en/i, '\1'
61 #   inflect.irregular 'person', 'people'
62 #   inflect.uncountable %w( fish sheep )
63 # end
64
65 # Include your application configuration below
66
67
68 # minimum count of rating votes a project/package needs to
69 # have no warning sign on package/project pages
70 MIN_VOTES_FOR_RATING = 3
71
72
73 #require 'custom_logger'
74 #RAILS_DEFAULT_LOGGER.formatter = Logger::CustomFormatter.new
75
76 require 'activexml'
77 require 'ostruct'
78
79 #TRANSPORT = Suse::Frontend.new("#{FRONTEND_PROTOCOL}://#{FRONTEND_HOST}:#{FRONTEND_PORT}")
80
81 ActiveXML::Base.config do |conf|
82   conf.setup_transport do |map|
83     map.default_server :rest, "#{FRONTEND_HOST}:#{FRONTEND_PORT}"
84
85     map.connect :project, "rest:///source/:name/_meta",
86         :all    => "rest:///source/",
87         :delete => "rest:///source/:name?:force"
88     map.connect :package, "rest:///source/:project/:name/_meta",
89         :all    => "rest:///source/:project"
90
91     map.connect :tagcloud, "rest:///tag/tagcloud?limit=:limit",
92         :alltags  => "rest:///tag/tagcloud?limit=:limit",
93         :mytags => "rest:///user/:user/tags/_tagcloud?limit=:limit",
94         :hierarchical_browsing => "rest:///tag/tagcloud?limit=:limit"
95
96   #       :tagcloud_by_user => "rest:///user/:user/tags/_tagcloud"
97 #       #:tagcloud  => "rest:///tag/tagcloud?limit=:limit"
98
99
100     map.connect :tag, "rest:///user/:user/tags/:project/:package",
101         :tags_by_object => "rest:///source/:project/:package/_tags"
102
103     map.connect :person, "rest:///person/:login"
104     map.connect :unregisteredperson, "rest:///person/register"
105
106     map.connect :architecture, "rest:///architecture"
107
108     map.connect :wizard, "rest:///source/:project/:package/_wizard?:response"
109
110     ##DEPRECATED
111     map.connect :platform, "rest:///platform/:project/:name",
112         :all => "rest:///platform/"
113
114     map.connect :repository, "rest:///repository/:project/:name",
115         :all    => "rest:///repository/"
116
117     map.connect :directory, "rest:///source/:project/:package"
118     map.connect :link, "rest:///source/:project/:package/_link"
119
120
121     map.connect :buildresult, "rest:///build/:project/_result?:view&:package&:code"
122
123     map.connect :result, "rest:///result/:project/:platform/:package/:arch/result"
124     map.connect :packstatus, "rest:///result/:project/packstatus?:command"
125
126     map.connect :collection, "rest:///search/:what?match=:predicate",
127         :id => "rest:///search/:what/id?match=:predicate",
128         :tag => "rest:///tag/:tagname/:type",
129         :tags_by_user => "rest:///user/:user/tags/:type",
130         :hierarchical_browsing => "rest:///tag/browsing/_hierarchical?tags=:tags"
131
132     # Monitor
133     map.connect :workerstatus, 'rest:///build/_workerstatus',
134       :all => 'rest:///build/_workerstatus'
135
136     # Statistics
137     map.connect :latestadded, 'rest:///statistics/latest_added?:limit',
138       :specific => 'rest:///statistics/added_timestamp/:project/:package'
139     map.connect :latestupdated, 'rest:///statistics/latest_updated?:limit',
140       :specific => 'rest:///statistics/updated_timestamp/:project/:package'
141     map.connect :downloadcounter, 'rest:///statistics/download_counter' +
142       '?:project&:package&:arch&:repo&:group_by&:limit'
143     map.connect :rating, 'rest:///statistics/rating/:project/:package',
144       :all => 'rest:///statistics/highest_rated?:limit'
145     map.connect :mostactive, 'rest:///statistics/most_active?:type&:limit',
146       :specific => 'rest:///statistics/activity/:project/:package'
147     map.connect :globalcounters, 'rest:///statistics/global_counters',
148       :all => 'rest:///statistics/global_counters'
149
150     # Status Messages
151     map.connect :statusmessage, 'rest:///status_message/:id/?:limit'
152
153
154   end
155 end