gaku_core 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dcb426d951c61713b636dee09d55b6bc8e7b85cc
4
- data.tar.gz: 91ad68aec6ebc6d5ccdb8cb32aac61a67cebb70c
3
+ metadata.gz: 62259b8d3e4b700989fae5be8df0837d8898f000
4
+ data.tar.gz: 907f6db5e00791e00700934cadfde7fad86d0d18
5
5
  SHA512:
6
- metadata.gz: f576bfec86bf557608ee5eddb2a688a956e4382c86c00f3d92364698a8dc5b5e3280deb79d8aace00e0f6249d10d512634856bf896d210ec70cbd28c8fa38d56
7
- data.tar.gz: d4ca1b4c15ed3763afe14eecfaf2346c1aa47ce724c985cbc8ce2d6e53887eaf5e09f7ae1c91e345032b903ecd9f68d544065f62ca9705d9a6177565e58253dc
6
+ metadata.gz: 7bf1951ae5cb1c4d6dad60d38584fb7cd4e64ff5de3a462b077f28566b28999445c6d306459bbc1dbeba7f404c0ca93ea5dfd487fe0ea1a4f3ae41fd800e7409
7
+ data.tar.gz: 2af760ba5e089c8496df12b6e14af6a298e30a83420541546604ffb6c5013271e2e9ab1e5ddd161ed53d36aa395cd2c716c5a5e180d5f831529b22a148c6821e
@@ -34,12 +34,15 @@ module Gaku
34
34
  def set_locale
35
35
  if current_user && params[:locale]
36
36
  I18n.locale = params[:locale]
37
+ Carmen.i18n_backend.locale = I18n.locale
37
38
  current_user.settings[:locale] = params[:locale]
38
39
  notice = "Language is set to #{t('languages.' + current_user.locale)}"
39
40
  flash[:notice] = notice if current_user.save
40
41
  elsif current_user
41
42
  I18n.locale = current_user.settings[:locale]
43
+ Carmen.i18n_backend.locale = I18n.locale
42
44
  else
45
+ Carmen.i18n_backend.locale = I18n.default_locale
43
46
  I18n.default_locale
44
47
  end
45
48
  end
@@ -14,7 +14,17 @@ module Gaku
14
14
  end
15
15
 
16
16
  def to_s
17
- name
17
+ i18n_name
18
18
  end
19
+
20
+ def i18n_name
21
+ carmen_country = Carmen::Country.coded(iso)
22
+ if carmen_country
23
+ carmen_country.name
24
+ else
25
+ name
26
+ end
27
+ end
28
+
19
29
  end
20
30
  end
@@ -44,5 +44,22 @@ module Gaku
44
44
  active.address[key.to_s] unless active.nil?
45
45
  end
46
46
 
47
+ def self.state
48
+ if active
49
+ State.find(active.address['state'])
50
+ else
51
+ State.first
52
+ end
53
+ end
54
+
55
+ def self.country
56
+ if active
57
+ Country.find(active.address['country'])
58
+ else
59
+ Country.first
60
+ end
61
+ end
62
+
63
+
47
64
  end
48
65
  end
@@ -1,5 +1,8 @@
1
1
  module Gaku
2
2
  class State < ActiveRecord::Base
3
+
4
+ default_scope { order(:abbr) }
5
+
3
6
  has_many :addresses
4
7
 
5
8
  belongs_to :country, foreign_key: :country_iso, primary_key: :iso
@@ -26,7 +29,17 @@ module Gaku
26
29
  end
27
30
 
28
31
  def to_s
29
- name
32
+ i18n_name
33
+ end
34
+
35
+ def i18n_name
36
+ carmen_country = Carmen::Country.coded(country_iso)
37
+ if carmen_country && carmen_country.subregions? && carmen_country.subregions.coded(abbr)
38
+ carmen_country.subregions.coded(abbr).name
39
+ else
40
+ name
41
+ end
30
42
  end
43
+
31
44
  end
32
45
  end
@@ -0,0 +1,14 @@
1
+ require 'carmen'
2
+
3
+ Carmen::Country.all.each do |country|
4
+ unless Gaku::Country.exists?(iso: country.alpha_2_code)
5
+
6
+ Gaku::Country.create!(name: country.name,
7
+ iso3: country.alpha_3_code,
8
+ iso: country.alpha_2_code,
9
+ iso_name: country.name.upcase,
10
+ numcode: country.numeric_code,
11
+ states_required: country.subregions?)
12
+
13
+ end
14
+ end
@@ -12,7 +12,7 @@ if Gaku::Preset.count.zero?
12
12
  changes: 25 },
13
13
  person: { gender: true },
14
14
  student: { id_code: '%year-%yearly_serial', increment_foreign_id_code: 1 },
15
- address: { country: 'JP', state: 'Aichi', city: 'Nagoya' },
15
+ address: { country: '114', state: '1308', city: 'Nagoya' },
16
16
  grading: { scheme: '', method: '' },
17
17
  export_formats: { spreadsheets: 'xls', printables: 'pdf', documents: 'xls' },
18
18
 
@@ -0,0 +1,9 @@
1
+ Gaku::Country.where(states_required: true).each do |country|
2
+ carmen_country = Carmen::Country.named(country.name)
3
+
4
+ carmen_country.subregions.each do |subregion|
5
+ unless Gaku::State.exists?(name: subregion.name, country_iso: country.iso)
6
+ Gaku::State.create!(name: subregion.name, abbr: subregion.code, country_iso: country.iso)
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ class ImproveCountriesAndStates < ActiveRecord::Migration
2
+ def change
3
+ add_column :gaku_countries, :states_required, :boolean
4
+ end
5
+ end
data/lib/gaku/core.rb CHANGED
@@ -11,6 +11,7 @@ require 'cancan'
11
11
  require 'kaminari'
12
12
  require 'globalize'
13
13
  require 'draper'
14
+ require 'carmen'
14
15
 
15
16
  module Gaku
16
17
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaku_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rei Kagetsuki
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-02-23 00:00:00.000000000 Z
14
+ date: 2015-03-27 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -69,6 +69,20 @@ dependencies:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: '3.2'
72
+ - !ruby/object:Gem::Dependency
73
+ name: carmen
74
+ requirement: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - "~>"
77
+ - !ruby/object:Gem::Version
78
+ version: 1.0.2
79
+ type: :runtime
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: 1.0.2
72
86
  - !ruby/object:Gem::Dependency
73
87
  name: globalize
74
88
  requirement: !ruby/object:Gem::Requirement
@@ -406,14 +420,14 @@ files:
406
420
  - db/default/gaku/attendance_types.rb
407
421
  - db/default/gaku/commute_method_types.rb
408
422
  - db/default/gaku/contact_types.yml
409
- - db/default/gaku/countries.yml
423
+ - db/default/gaku/countries.rb
410
424
  - db/default/gaku/departments.rb
411
425
  - db/default/gaku/enrollment_status.rb
412
426
  - db/default/gaku/master_school.rb
413
427
  - db/default/gaku/presets.rb
414
428
  - db/default/gaku/roles.yml
415
429
  - db/default/gaku/scholarship_statuses.rb
416
- - db/default/gaku/states.yml
430
+ - db/default/gaku/states.rb
417
431
  - db/migrate/20120202111850_presets.rb
418
432
  - db/migrate/20131014065028_translations.rb
419
433
  - db/migrate/20131025073352_gaku_core.rb
@@ -437,6 +451,7 @@ files:
437
451
  - db/migrate/20140715135152_create_semester_attendance_table.rb
438
452
  - db/migrate/20140718105226_create_student_review_categories_table.rb
439
453
  - db/migrate/20140728121353_create_student_review_table.rb
454
+ - db/migrate/20150213095508_improve_countries_and_states.rb
440
455
  - db/schema.rb
441
456
  - db/seeds.rb
442
457
  - lib/gaku/class_name_detector.rb