padrino-core 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.document +3 -3
  2. data/.yardopts +1 -0
  3. data/{LICENSE → LICENSE.txt} +0 -0
  4. data/README.rdoc +2 -2
  5. data/lib/padrino-core/application/rendering.rb +79 -26
  6. data/lib/padrino-core/application/routing.rb +215 -127
  7. data/lib/padrino-core/application/showexceptions.rb +2 -1
  8. data/lib/padrino-core/application.rb +67 -57
  9. data/lib/padrino-core/caller.rb +10 -4
  10. data/lib/padrino-core/command.rb +11 -0
  11. data/lib/padrino-core/loader.rb +52 -24
  12. data/lib/padrino-core/locale/cs.yml +4 -1
  13. data/lib/padrino-core/locale/da.yml +4 -1
  14. data/lib/padrino-core/locale/de.yml +4 -1
  15. data/lib/padrino-core/locale/en.yml +4 -1
  16. data/lib/padrino-core/locale/es.yml +4 -1
  17. data/lib/padrino-core/locale/fr.yml +4 -1
  18. data/lib/padrino-core/locale/hu.yml +4 -1
  19. data/lib/padrino-core/locale/it.yml +4 -1
  20. data/lib/padrino-core/locale/ja.yml +4 -1
  21. data/lib/padrino-core/locale/lv.yml +34 -0
  22. data/lib/padrino-core/locale/nl.yml +4 -1
  23. data/lib/padrino-core/locale/no.yml +4 -1
  24. data/lib/padrino-core/locale/pl.yml +4 -1
  25. data/lib/padrino-core/locale/pt_br.yml +4 -1
  26. data/lib/padrino-core/locale/ru.yml +4 -1
  27. data/lib/padrino-core/locale/tr.yml +4 -1
  28. data/lib/padrino-core/locale/uk.yml +4 -1
  29. data/lib/padrino-core/locale/zh_cn.yml +4 -1
  30. data/lib/padrino-core/locale/zh_tw.yml +4 -1
  31. data/lib/padrino-core/logger.rb +119 -128
  32. data/lib/padrino-core/mounter.rb +46 -14
  33. data/lib/padrino-core/reloader.rb +5 -3
  34. data/lib/padrino-core/router.rb +30 -11
  35. data/lib/padrino-core/server.rb +14 -5
  36. data/lib/padrino-core/support_lite.rb +54 -20
  37. data/lib/padrino-core/tasks.rb +1 -3
  38. data/lib/padrino-core/version.rb +8 -4
  39. data/lib/padrino-core.rb +58 -11
  40. data/padrino-core.gemspec +1 -1
  41. data/test/fixtures/apps/simple.rb +1 -1
  42. data/test/helper.rb +4 -24
  43. data/test/mini_shoulda.rb +45 -0
  44. data/test/test_application.rb +19 -18
  45. data/test/test_core.rb +2 -2
  46. data/test/test_dependencies.rb +5 -5
  47. data/test/test_filters.rb +2 -1
  48. data/test/test_locale.rb +1 -1
  49. data/test/test_logger.rb +1 -1
  50. data/test/test_mounter.rb +26 -25
  51. data/test/test_reloader_complex.rb +5 -3
  52. data/test/test_reloader_simple.rb +6 -5
  53. data/test/test_rendering.rb +8 -5
  54. data/test/test_restful_routing.rb +1 -1
  55. data/test/test_router.rb +1 -1
  56. data/test/test_routing.rb +33 -12
  57. metadata +13 -9
@@ -1,7 +1,8 @@
1
1
  module Padrino
2
2
  ##
3
- # This module extend Sinatra::ShowExceptions adding Padrino as "Framework"
3
+ # This module extend Sinatra::ShowExceptions adding Padrino as "Framework".
4
4
  #
5
+ # @private
5
6
  class ShowExceptions < Sinatra::ShowExceptions
6
7
  private
7
8
  def frame_class(frame)
@@ -7,7 +7,17 @@ module Padrino
7
7
  # These subclassed applications can be easily mounted into other Padrino applications as well.
8
8
  #
9
9
  class Application < Sinatra::Base
10
- register Padrino::Routing # Support for advanced routing, controllers, url_for
10
+ # Support for advanced routing, controllers, url_for
11
+ register Padrino::Routing
12
+
13
+ ##
14
+ # Returns the logger for this application.
15
+ #
16
+ # @return [Padrino::Logger] Logger associated with this app.
17
+ #
18
+ def logger
19
+ Padrino.logger
20
+ end
11
21
 
12
22
  class << self
13
23
 
@@ -25,29 +35,15 @@ module Padrino
25
35
  super(base) # Loading the subclass inherited method
26
36
  end
27
37
 
28
- ##
29
- # Hooks into when a new instance of the application is created
30
- # This is used because putting the configuration into inherited doesn't
31
- # take into account overwritten app settings inside subclassed definitions
32
- # Only performs the setup first time application is initialized.
33
- #
34
- def new(*args, &bk)
35
- setup_application!
36
- logging, logging_was = false, logging
37
- show_exceptions, show_exceptions_was = false, show_exceptions
38
- super(*args, &bk)
39
- ensure
40
- logging, show_exceptions = logging_was, show_exceptions_was
41
- end
42
-
43
38
  ##
44
39
  # Reloads the application files from all defined load paths
45
40
  #
46
41
  # This method is used from our Padrino Reloader during development mode
47
42
  # in order to reload the source files.
48
43
  #
49
- # ==== Examples
44
+ # @return [TrueClass]
50
45
  #
46
+ # @example
51
47
  # MyApp.reload!
52
48
  #
53
49
  def reload!
@@ -56,31 +52,32 @@ module Padrino
56
52
  reset! # Reset sinatra app
57
53
  reset_router! # Reset all routes
58
54
  Padrino.require_dependencies(self.app_file, :force => true) # Reload the app file
59
- register_initializers # Reload our middlewares
60
55
  require_dependencies # Reload dependencies
61
- default_filters! # Reload filters
62
- default_routes! # Reload default routes
63
- default_errors! # Reload our errors
56
+ default_filters! # Reload filters
57
+ default_routes! # Reload default routes
58
+ default_errors! # Reload our errors
64
59
  I18n.reload! if defined?(I18n) # Reload also our translations
60
+ true
65
61
  end
66
62
 
67
63
  ##
68
64
  # Resets application routes to only routes not defined by the user
69
65
  #
70
- # ==== Examples
66
+ # @return [TrueClass]
71
67
  #
68
+ # @example
72
69
  # MyApp.reset_routes!
73
70
  #
74
71
  def reset_routes!
75
72
  reset_router!
76
73
  default_routes!
74
+ true
77
75
  end
78
76
 
79
77
  ##
80
78
  # Returns the routes of our app.
81
79
  #
82
- # ==== Examples
83
- #
80
+ # @example
84
81
  # MyApp.routes
85
82
  #
86
83
  def routes
@@ -91,11 +88,11 @@ module Padrino
91
88
  # Setup the application by registering initializers, load paths and logger
92
89
  # Invoked automatically when an application is first instantiated
93
90
  #
91
+ # @return [TrueClass]
92
+ #
94
93
  def setup_application!
95
94
  return if @_configured
96
- self.register_initializers
97
95
  self.require_dependencies
98
- self.disable :logging # We need do that as default because Sinatra use commonlogger.
99
96
  self.default_filters!
100
97
  self.default_routes!
101
98
  self.default_errors!
@@ -104,12 +101,15 @@ module Padrino
104
101
  I18n.reload!
105
102
  end
106
103
  @_configured = true
104
+ @_configured
107
105
  end
108
106
 
109
107
  ##
110
108
  # Run the Padrino app as a self-hosted server using
111
109
  # Thin, Mongrel or WEBrick (in that order)
112
110
  #
111
+ # @see Padrino::Server#start
112
+ #
113
113
  def run!(options={})
114
114
  return unless Padrino.load!
115
115
  Padrino.mount(self.to_s).to("/")
@@ -117,7 +117,8 @@ module Padrino
117
117
  end
118
118
 
119
119
  ##
120
- # Returns the used $LOAD_PATHS from this application
120
+ # @return [Array]
121
+ # directory that need to be added to +$LOAD_PATHS+ from this application
121
122
  #
122
123
  def load_paths
123
124
  @_load_paths ||= %w(models lib mailers controllers helpers).map { |path| File.join(self.root, path) }
@@ -127,7 +128,10 @@ module Padrino
127
128
  # Returns default list of path globs to load as dependencies
128
129
  # Appends custom dependency patterns to the be loaded for your Application
129
130
  #
130
- # ==== Examples
131
+ # @return [Array]
132
+ # list of path globs to load as dependencies
133
+ #
134
+ # @example
131
135
  # MyApp.dependencies << "#{Padrino.root}/uploaders/**/*.rb"
132
136
  # MyApp.dependencies << Padrino.root('other_app', 'controllers.rb')
133
137
  #
@@ -143,12 +147,13 @@ module Padrino
143
147
  #
144
148
  # By default we look for files:
145
149
  #
150
+ # # List of default files that we are looking for:
146
151
  # yourapp/models.rb
147
152
  # yourapp/models/**/*.rb
148
153
  # yourapp/lib.rb
149
154
  # yourapp/lib/**/*.rb
150
155
  #
151
- # ==== Examples
156
+ # @example Adding a custom perequisite
152
157
  # MyApp.prerequisites << Padrino.root('my_app', 'custom_model.rb')
153
158
  #
154
159
  def prerequisites
@@ -167,14 +172,15 @@ module Padrino
167
172
  set :logging, Proc.new { development? }
168
173
  set :method_override, true
169
174
  set :sessions, false
170
- set :public, Proc.new { Padrino.root('public', uri_root) }
175
+ set :public_folder, Proc.new { Padrino.root('public', uri_root) }
171
176
  set :views, Proc.new { File.join(root, "views") }
172
177
  set :images_path, Proc.new { File.join(public, "images") }
178
+ set :protection, false
173
179
  # Padrino specific
174
180
  set :uri_root, "/"
175
181
  set :app_name, self.to_s.underscore.to_sym
176
182
  set :default_builder, 'StandardFormBuilder'
177
- set :flash, defined?(Rack::Flash)
183
+ set :flash, defined?(Sinatra::Flash) || defined?(Rack::Flash)
178
184
  set :authentication, false
179
185
  # Padrino locale
180
186
  set :locale_path, Proc.new { Dir[File.join(self.root, "/locale/**/*.{rb,yml}")] }
@@ -222,16 +228,6 @@ module Padrino
222
228
  end
223
229
  end
224
230
 
225
- ##
226
- # Requires the Padrino middleware
227
- #
228
- def register_initializers
229
- use Padrino::ShowExceptions if show_exceptions?
230
- use Padrino::Logger::Rack, uri_root if Padrino.logger && logging?
231
- use Padrino::Reloader::Rack if reload?
232
- use Rack::Flash, :sweep => true if flash?
233
- end
234
-
235
231
  ##
236
232
  # Requires all files within the application load paths
237
233
  #
@@ -239,22 +235,36 @@ module Padrino
239
235
  Padrino.set_load_paths(*load_paths)
240
236
  Padrino.require_dependencies(dependencies, :force => true)
241
237
  end
242
- end # self
243
238
 
244
- # TODO Remove deprecated render inclusion in a few versions
245
- # Detects if a user is incorrectly using 'render' and warns them about the fix
246
- # In 0.10.0, Padrino::Rendering now has to be explicitly included in the application
247
- def render(*args)
248
- if !defined?(DEFAULT_RENDERING_OPTIONS) && !@_render_included &&
249
- (args.size == 1 || (args.size == 2 && args[0].is_a?(String) && args[1].is_a?(Hash)))
250
- logger.warn "[Deprecation] Please 'register Padrino::Rendering' for each application as shown here:
251
- https://gist.github.com/1d36a35794dbbd664ea4 for 'render' to function as expected"
252
- self.class.instance_eval { register Padrino::Rendering }
253
- @_render_included = true
254
- render(*args)
255
- else # pass through, rendering is valid
256
- super(*args)
257
- end
258
- end # render method
239
+ private
240
+
241
+ # Overrides the default middleware for Sinatra based on Padrino conventions
242
+ # Also initializes the application after setting up the middleware
243
+ def setup_default_middleware(builder)
244
+ setup_sessions builder
245
+ setup_flash builder
246
+ builder.use Padrino::ShowExceptions if show_exceptions?
247
+ builder.use Padrino::Logger::Rack, uri_root if Padrino.logger && logging?
248
+ builder.use Padrino::Reloader::Rack if reload?
249
+ builder.use Rack::MethodOverride if method_override?
250
+ builder.use Rack::Head
251
+ setup_protection builder
252
+ setup_application!
253
+ end
254
+
255
+ # TODO Remove this in a few versions (rack-flash deprecation)
256
+ # Move register Sinatra::Flash into setup_default_middleware
257
+ # Initializes flash using sinatra-flash or rack-flash
258
+ def setup_flash(builder)
259
+ register Sinatra::Flash if flash? && defined?(Sinatra::Flash)
260
+ if defined?(Rack::Flash) && !defined?(Sinatra::Flash)
261
+ logger.warn %Q{
262
+ [Deprecation] In Gemfile, 'rack-flash' should be replaced with 'sinatra-flash'!
263
+ Rack-Flash is not compatible with later versions of Rack and should be replaced.
264
+ }
265
+ builder.use Rack::Flash, :sweep => true if flash?
266
+ end
267
+ end
268
+ end # self
259
269
  end # Application
260
270
  end # Padrino
@@ -20,22 +20,28 @@ module Padrino
20
20
  ] unless defined?(PADRINO_IGNORE_CALLERS)
21
21
 
22
22
  ##
23
- # Add rubinius (and hopefully other VM impls) ignore patterns ...
23
+ # Add rubinius (and hopefully other VM implementations) ignore patterns ...
24
24
  #
25
25
  PADRINO_IGNORE_CALLERS.concat(RUBY_IGNORE_CALLERS) if defined?(RUBY_IGNORE_CALLERS)
26
26
 
27
27
  private
28
28
  ##
29
- # Returns the filename for the file that is the direct caller (first caller)
29
+ # The filename for the file that is the direct caller (first caller).
30
+ #
31
+ # @return [String]
32
+ # The file the caller method exists in.
30
33
  #
31
34
  def self.first_caller
32
35
  caller_files.first
33
36
  end
34
37
 
35
- ##
36
- # Like Kernel#caller but excluding certain magic entries and without
38
+ #
39
+ # Like +Kernel#caller+ but excluding certain magic entries and without
37
40
  # line / method information; the resulting array contains filenames only.
38
41
  #
42
+ # @return [Array<String>]
43
+ # The files of the calling methods.
44
+ #
39
45
  def self.caller_files
40
46
  caller(1).
41
47
  map { |line| line.split(/:(?=\d|in )/)[0,2] }.
@@ -5,6 +5,14 @@ module Padrino
5
5
  # This method return the correct location of padrino bin or
6
6
  # exec it using Kernel#system with the given args
7
7
  #
8
+ # @param [Array] args
9
+ # command or commands to execute
10
+ #
11
+ # @return [Boolean]
12
+ #
13
+ # @example
14
+ # Padrino.bin('start', '-e production')
15
+ #
8
16
  def self.bin(*args)
9
17
  @_padrino_bin ||= [self.ruby_command, File.expand_path("../../../bin/padrino", __FILE__)]
10
18
  args.empty? ? @_padrino_bin : system(args.unshift(@_padrino_bin).join(" "))
@@ -14,6 +22,9 @@ module Padrino
14
22
  # Return the path to the ruby interpreter taking into account multiple
15
23
  # installations and windows extensions.
16
24
  #
25
+ # @return [String]
26
+ # path to ruby bin executable
27
+ #
17
28
  def self.ruby_command
18
29
  @ruby_command ||= begin
19
30
  ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
@@ -1,16 +1,19 @@
1
1
  module Padrino
2
2
  class << self
3
-
4
3
  ##
5
- # Hooks to be called before a load/reload
4
+ # Hooks to be called before a load/reload.
5
+ #
6
+ # @yield []
7
+ # The given block will be called before Padrino was loaded/reloaded.
6
8
  #
7
- # ==== Examples
9
+ # @return [Array<Proc>]
10
+ # The load/reload before hooks.
8
11
  #
12
+ # @example
9
13
  # before_load do
10
14
  # pre_initialize_something
11
15
  # end
12
16
  #
13
- #
14
17
  def before_load(&block)
15
18
  @_before_load ||= []
16
19
  @_before_load << block if block_given?
@@ -18,15 +21,19 @@ module Padrino
18
21
  end
19
22
 
20
23
  ##
21
- # Hooks to be called after a load/reload
24
+ # Hooks to be called after a load/reload.
22
25
  #
23
- # ==== Examples
26
+ # @yield []
27
+ # The given block will be called after Padrino was loaded/reloaded.
24
28
  #
29
+ # @return [Array<Proc>]
30
+ # The load/reload hooks.
31
+ #
32
+ # @example
25
33
  # after_load do
26
34
  # DataMapper.finalize
27
35
  # end
28
36
  #
29
- #
30
37
  def after_load(&block)
31
38
  @_after_load ||= []
32
39
  @_after_load << block if block_given?
@@ -34,7 +41,10 @@ module Padrino
34
41
  end
35
42
 
36
43
  ##
37
- # Returns the used $LOAD_PATHS from padrino
44
+ # The used +$LOAD_PATHS+ from Padrino.
45
+ #
46
+ # @return [Array<String>]
47
+ # The load paths used by Padrino.
38
48
  #
39
49
  def load_paths
40
50
  @_load_paths_was = %w(lib models shared).map { |path| Padrino.root(path) }
@@ -42,7 +52,11 @@ module Padrino
42
52
  end
43
53
 
44
54
  ##
45
- # Requires necessary dependencies as well as application files from root lib and models
55
+ # Requires necessary dependencies as well as application files from root
56
+ # lib and models.
57
+ #
58
+ # @return [Boolean]
59
+ # returns true if Padrino is not already bootstraped otherwise else.
46
60
  #
47
61
  def load!
48
62
  return false if loaded?
@@ -60,7 +74,9 @@ module Padrino
60
74
  end
61
75
 
62
76
  ##
63
- # Clear the padrino env
77
+ # Clear the padrino env.
78
+ #
79
+ # @return [NilClass]
64
80
  #
65
81
  def clear!
66
82
  Padrino.clear_middleware!
@@ -75,7 +91,7 @@ module Padrino
75
91
  end
76
92
 
77
93
  ##
78
- # Method for reloading required applications and their files
94
+ # Method for reloading required applications and their files.
79
95
  #
80
96
  def reload!
81
97
  Padrino.before_load.each(&:call) # Run before hooks
@@ -84,14 +100,18 @@ module Padrino
84
100
  end
85
101
 
86
102
  ##
87
- # This adds the ablity to instantiate Padrino.load! after Padrino::Application definition.
103
+ # This adds the ablity to instantiate {Padrino.load!} after
104
+ # {Padrino::Application} definition.
88
105
  #
89
106
  def called_from
90
107
  @_called_from || first_caller
91
108
  end
92
109
 
93
110
  ##
94
- # Return true if Padrino was loaded with Padrino.load!
111
+ # Determines whether Padrino was loaded with {Padrino.load!}.
112
+ #
113
+ # @return [Boolean]
114
+ # Specifies whether Padrino was loaded.
95
115
  #
96
116
  def loaded?
97
117
  Thread.current[:padrino_loaded]
@@ -102,21 +122,23 @@ module Padrino
102
122
  # If you use this method we can perform correctly a Padrino.reload!
103
123
  # Another good thing that this method are dependency check, for example:
104
124
  #
105
- # models
106
- # \-- a.rb => require something of b.rb
107
- # \-- b.rb
125
+ # # models
126
+ # # \-- a.rb => require something of b.rb
127
+ # # \-- b.rb
108
128
  #
109
129
  # In the example above if we do:
110
130
  #
111
131
  # Dir["/models/*.rb"].each { |r| require r }
112
132
  #
113
- # we get an error, because we try to require first a.rb that need +something+ of b.rb.
133
+ # we get an error, because we try to require first +a.rb+ that need
134
+ # _something_ of +b.rb+.
114
135
  #
115
- # With +require_dependencies+ we don't have this problem.
136
+ # With this method we don't have this problem.
116
137
  #
117
- # ==== Examples
138
+ # @param [Array<String>] paths
139
+ # The paths to require.
118
140
  #
119
- # # For require all our app libs we need to do:
141
+ # @example For require all our app libs we need to do:
120
142
  # require_dependencies("#{Padrino.root}/lib/**/*.rb")
121
143
  #
122
144
  def require_dependencies(*paths)
@@ -158,10 +180,13 @@ module Padrino
158
180
 
159
181
  ##
160
182
  # Returns default list of path globs to load as dependencies
161
- # Appends custom dependency patterns to the be loaded for Padrino
183
+ # Appends custom dependency patterns to the be loaded for Padrino.
162
184
  #
163
- # ==== Examples
164
- # Padrino.dependency_paths << "#{Padrino.root}/uploaders/*.rb"
185
+ # @return [Array<String>]
186
+ # The dependencey paths.
187
+ #
188
+ # @example
189
+ # Padrino.dependency_paths << "#{Padrino.root}/uploaders/*.rb"
165
190
  #
166
191
  def dependency_paths
167
192
  @_dependency_paths_was = [
@@ -172,7 +197,10 @@ module Padrino
172
197
  end
173
198
 
174
199
  ##
175
- # Concat to $LOAD_PATH the given paths
200
+ # Concat to +$LOAD_PATH+ the given paths.
201
+ #
202
+ # @param [Array<String>] paths
203
+ # The paths to concat.
176
204
  #
177
205
  def set_load_paths(*paths)
178
206
  $:.concat(paths); load_paths.concat(paths)
@@ -13,7 +13,10 @@ cs:
13
13
  abbr_day_names: [Ne, Po, Út, St, Čt, Pá, So]
14
14
  month_names: [~, Leden, Únor, Březen, Duben, Květen, Červen, Červenec, Srpen, Září, Říjen, Listopad, Prosinec]
15
15
  abbr_month_names: [~, Led, Úno, Bře, Dub, Kvě, Čvn, Čvc, Srp, Zář, Říj, Lis, Pro]
16
- order: [:day, :month, :year]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ da:
13
13
  abbr_day_names: [sø, ma, ti, 'on', to, fr, lø]
14
14
  month_names: [~, januar, februar, marts, april, maj, juni, juli, august, september, oktober, november, december]
15
15
  abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, dec]
16
- order: [ :day, :month, :year ]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ de:
13
13
  abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
14
14
  month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
15
15
  abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
16
- order: [ :day, :month, :year ]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ en:
13
13
  abbr_day_names: [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
14
14
  month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December]
15
15
  abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec]
16
- order: [ :year, :month, :day ]
16
+ order:
17
+ - year
18
+ - month
19
+ - day
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ es:
13
13
  abbr_day_names: [Dom, Lun, Mar, Mie, Jue, Vie, Sab]
14
14
  month_names: [~, Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre]
15
15
  abbr_month_names: [~, Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic]
16
- order: [ :day, :month, :year]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ fr:
13
13
  abbr_day_names: [Lun, Mar, Mer, Jeu, Ven, Sam, Dim]
14
14
  month_names: [~, Janvier, Février, Mars, Avril, Mai, Juin, Juillet, Août, Septembre, Octobre, Novembre, Décembre]
15
15
  abbr_month_names: [~, Jan, Fev, Mar, Avr, Mai, Jui, Jui, Aou, Sep, Oct, Nov, Dec]
16
- order: [ :day, :month, :year ]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ hu:
13
13
  abbr_day_names: [vas, hét, kedd, sze, csüt, pén, szo]
14
14
  month_names: [~, január, február, március, április, május, június, július, augusztus, szeptember, oktober, november, december]
15
15
  abbr_month_names: [~, jan, febr, márc, ápr, máj, jún, júl, aug, szept, okt, nov, dec]
16
- order: [ :year, :month, :day ]
16
+ order:
17
+ - year
18
+ - month
19
+ - day
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ it:
13
13
  abbr_day_names: [Dom, Lun, Mar, Mer, Gio, Ven, Sab]
14
14
  month_names: [~, Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, Ottobre, Novembre, Dicembre]
15
15
  abbr_month_names: [~, Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic]
16
- order: [ :day, :month, :year ]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ ja:
13
13
  abbr_day_names: [日, 月, 火, 水, 木, 金, 土]
14
14
  month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
15
15
  abbr_month_names: [~, 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月]
16
- order: [ :year, :month, :day ]
16
+ order:
17
+ - year
18
+ - month
19
+ - day
17
20
 
18
21
  time:
19
22
  formats:
@@ -0,0 +1,34 @@
1
+ lv:
2
+ date:
3
+ formats:
4
+ # Use the strftime parameters for formats.
5
+ # When no format has been given, it uses default.
6
+ # You can provide other formats here if you like!
7
+ default: "%d.%m.%Y."
8
+ short: "%e. %B"
9
+ long: "%Y. gada %e. %B"
10
+ only_day: "%e"
11
+
12
+ day_names: [Svētdiena, Pirmdiena, Otrdiena, Trešdiena, Ceturtdiena, Piektdiena, Sestdiena]
13
+ abbr_day_names: [Sv, P, O, T, C, P, S]
14
+ month_names: [~, Janvāris, Februāris, Marts, Aprīlis, Maijs, Jūnijs, Jūlijs, Augusts, Septembris, Oktobris, Novembris, Decembris]
15
+ abbr_month_names: [~, Janv, Febr, Marts, Apr, Maijs, Jūn, Jūl, Aug, Sept, Okt, Nov, Dec]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
20
+
21
+ time:
22
+ formats:
23
+ default: "%Y. gada %e. %B, %H:%M"
24
+ short: "%d.%m.%Y., %H:%M"
25
+ long: "%Y. gada %e. %B, %H:%M:%S"
26
+ am: "priekšpusdiena"
27
+ pm: "pēcpusdiena"
28
+
29
+ # Used in array.to_sentence.
30
+ support:
31
+ array:
32
+ words_connector: ", "
33
+ two_words_connector: " un "
34
+ last_word_connector: ", un "
@@ -13,7 +13,10 @@ nl:
13
13
  abbr_day_names: [zo, ma, di, wo, do, vr, za]
14
14
  month_names: [~, januari, februari, maart, april, mei, juni, juli, augustus, september, oktober, november]
15
15
  abbr_month_names: [~, jan, feb, maa, apr, mei, jun, jul, aug, sep, okt, nov, dec]
16
- order: [ :day, :month, :year ]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@
13
13
  abbr_day_names: [sø, ma, ti, 'on', to, fr, lø]
14
14
  month_names: [~, januar, februar, mars, april, mai, juni, juli, august, september, oktober, november, desember]
15
15
  abbr_month_names: [~, jan, feb, mar, apr, maj, jun, jul, aug, sep, okt, nov, des]
16
- order: [ :day, :month, :year ]
16
+ order:
17
+ - day
18
+ - month
19
+ - year
17
20
 
18
21
  time:
19
22
  formats:
@@ -13,7 +13,10 @@ pl:
13
13
  abbr_day_names: [nie, pon, wto, śro, czw, pia, sob]
14
14
  month_names: [~, Styczeń, Luty, Marzec, Kwiecień, Maj, Czerwiec, Lipiec, Sierpień, Wrzesień, Październik, Listopad, Grudzień]
15
15
  abbr_month_names: [~, sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis, gru]
16
- order: [ :year, :month, :day ]
16
+ order:
17
+ - year
18
+ - month
19
+ - day
17
20
 
18
21
  time:
19
22
  formats: