mumuki-domain 7.0.1 → 7.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65cc8458d5a6eb46f944a0c224903778449d0cfa900fad1856278d16ff3f7d79
4
- data.tar.gz: bdc79b817c1735dd7e4b32f6bbcabcef7176721c7a56ef90d2b296118ccb1097
3
+ metadata.gz: 3d28ad86997ca94c1d5a301bb2ffb5729a1ea8b7d345a701668dc6bb76a3b9d4
4
+ data.tar.gz: 951bef6f687690e25ceb89fedfb34c23f2dfee1fa0c649a04a36c1dcd7b47e44
5
5
  SHA512:
6
- metadata.gz: 8931f3e98f68d3905de2a1f30d5e7e9e5b75789b781d88cc9958f7505283202cc4152086e940b2190e221f2383ab90dc52cf6067bea18e99e9707b812c7d743a
7
- data.tar.gz: 3a8e83f95ead93a1661c35fe9eed79316b3911c10cbaab98b2cc9f4bdc4652b89454a27ac1a3b675bd3add5d556425c374265cc27073413325adbc92d467ffb9
6
+ metadata.gz: 5f709598d00fed3cdaf355123f16b80dc192cb484c6a2860e1b402ecef517ccad5d6a846783a4b2af2de5c07d4336fb7526f68e8084a7a6224df02b711aeaa60
7
+ data.tar.gz: a0dc2166520edb45ff6ef2cc6907c01818ffca73cfdb16518dda08d19e46eb3b98ab01a3d5ab054b5265c25ea447a99e3690c6cebdbdf923be0c5798dc644af8
@@ -44,6 +44,7 @@ class Assignment < ApplicationRecord
44
44
  transaction do
45
45
  messages.destroy_all if submission_id.present?
46
46
  update! submission_id: submission.id
47
+ update! submitted_at: DateTime.current
47
48
  update_submissions_count!
48
49
  update_last_submission!
49
50
  end
@@ -127,7 +128,7 @@ class Assignment < ApplicationRecord
127
128
  end
128
129
 
129
130
  def to_resource_h
130
- as_json(except: [:exercise_id, :submission_id, :organization_id, :id, :submitter_id, :solution, :created_at, :updated_at, :submission_status],
131
+ as_json(except: [:exercise_id, :submission_id, :organization_id, :id, :submitter_id, :solution, :created_at, :updated_at, :submission_status, :submitted_at],
131
132
  include: {
132
133
  guide: {
133
134
  only: [:slug, :name],
@@ -140,7 +141,7 @@ class Assignment < ApplicationRecord
140
141
  deep_merge(
141
142
  'organization' => Organization.current.name,
142
143
  'sid' => submission_id,
143
- 'created_at' => updated_at,
144
+ 'created_at' => submitted_at || updated_at,
144
145
  'content' => solution,
145
146
  'status' => submission_status,
146
147
  'exercise' => {
@@ -210,7 +211,7 @@ class Assignment < ApplicationRecord
210
211
  end
211
212
 
212
213
  def update_last_submission!
213
- submitter.update!(last_submission_date: DateTime.now, last_exercise: exercise)
214
+ submitter.update!(last_submission_date: DateTime.current, last_exercise: exercise)
214
215
  end
215
216
 
216
217
  end
data/app/models/book.rb CHANGED
@@ -33,7 +33,7 @@ class Book < Content
33
33
  rebuild_complements! resource_h[:complements].to_a.map { |it| Guide.find_by(slug: it)&.as_complement_of(self) }.compact
34
34
  end
35
35
 
36
- def to_resource_h
36
+ def to_expanded_resource_h
37
37
  super.merge(
38
38
  chapters: chapters.map(&:slug),
39
39
  complements: complements.map(&:slug))
@@ -75,7 +75,7 @@ module Contextualization
75
75
  visible_expectation_results.map do |it|
76
76
  {
77
77
  result: it[:result],
78
- explanation: Mumukit::Inspection::Expectation.parse(it).translate(inspection_keywords)
78
+ explanation: Mulang::Expectation.parse(it).translate(inspection_keywords)
79
79
  }
80
80
  end
81
81
  end
@@ -6,7 +6,7 @@ module Solvable
6
6
  end
7
7
 
8
8
  def run_tests!(params)
9
- language.run_tests!(params.merge(locale: locale, expectations: expectations))
9
+ language.run_tests!(params.merge(locale: locale, expectations: expectations, custom_expectations: custom_expectations))
10
10
  end
11
11
  end
12
12
 
@@ -22,8 +22,12 @@ module WithExpectations
22
22
  self[:expectations]
23
23
  end
24
24
 
25
+ def own_custom_expectations
26
+ self[:custom_expectations]
27
+ end
28
+
25
29
  def ensure_expectations_format
26
30
  errors.add :own_expectations,
27
- :invalid_format unless own_expectations.to_a.all? { |it| Mumukit::Expectation.valid? it }
31
+ :invalid_format unless own_expectations.to_a.all? { |it| Mulang::Expectation.valid? it }
28
32
  end
29
33
  end
@@ -9,7 +9,7 @@ module WithMessages
9
9
  end
10
10
 
11
11
  def build_message(body)
12
- messages.build({date: DateTime.now}.merge(body))
12
+ messages.build({date: DateTime.current}.merge(body))
13
13
  end
14
14
 
15
15
  def has_messages?
@@ -9,6 +9,10 @@ class Content < ApplicationRecord
9
9
  include WithName
10
10
 
11
11
  def to_resource_h
12
+ to_expanded_resource_h.compact
13
+ end
14
+
15
+ def to_expanded_resource_h
12
16
  as_json(only: [:name, :slug, :description, :locale]).symbolize_keys
13
17
  end
14
18
 
data/app/models/exam.rb CHANGED
@@ -20,7 +20,7 @@ class Exam < ApplicationRecord
20
20
  end
21
21
 
22
22
  def enabled?
23
- enabled_range.cover? DateTime.now
23
+ enabled_range.cover? DateTime.current
24
24
  end
25
25
 
26
26
  def enabled_range
@@ -28,7 +28,7 @@ class Exam < ApplicationRecord
28
28
  end
29
29
 
30
30
  def enabled_for?(user)
31
- enabled_range_for(user).cover? DateTime.now
31
+ enabled_range_for(user).cover? DateTime.current
32
32
  end
33
33
 
34
34
  def in_progress_for?(user)
@@ -25,12 +25,24 @@ class Problem < QueriableChallenge
25
25
  own_expectations + guide_expectations
26
26
  end
27
27
 
28
+ def custom_expectations
29
+ "#{own_custom_expectations}\n#{guide_custom_expectations}"
30
+ end
31
+
28
32
  def guide_expectations
29
33
  guide.expectations
30
34
  end
31
35
 
36
+ def guide_custom_expectations
37
+ guide.custom_expectations
38
+ end
39
+
32
40
  def evaluation_criteria?
33
- manual_evaluation? || own_expectations.present? || test.present?
41
+ manual_evaluation? || expectations? || test.present?
42
+ end
43
+
44
+ def expectations?
45
+ own_expectations.present? || own_custom_expectations.present?
34
46
  end
35
47
 
36
48
  private
@@ -1,5 +1,9 @@
1
1
  class Exercise < ApplicationRecord
2
2
  RANDOMIZED_FIELDS = [:default_content, :description, :extra, :hint, :test]
3
+ BASIC_RESOURCE_FIELDS = %i(
4
+ name layout editor corollary teacher_info manual_evaluation locale
5
+ choices assistance_rules randomizations tag_list extra_visible goal
6
+ free_form_editor_source initial_state final_state)
3
7
 
4
8
  include WithDescription
5
9
  include WithLocale
@@ -97,7 +101,7 @@ class Exercise < ApplicationRecord
97
101
  attrs[:bibliotheca_id] = resource_h[:id]
98
102
  attrs[:number] = number
99
103
  attrs[:manual_evaluation] ||= false
100
- attrs = attrs.except(:expectations) if type != 'Problem' || resource_h[:new_expectations]
104
+ attrs = attrs.except(:expectations, :custom_expectations) if type != 'Problem'
101
105
 
102
106
  assign_attributes(attrs)
103
107
  save!
@@ -111,19 +115,21 @@ class Exercise < ApplicationRecord
111
115
  choice_values.index(value)
112
116
  end
113
117
 
114
- # Keep this list up to date with
115
- # Mumukit::Sync::Store::Github::Schema::Exercise
116
118
  def to_resource_h
119
+ to_expanded_resource_h.compact
120
+ end
121
+
122
+ # Keep this list up to date with
123
+ # Mumuki::Domain::Store::ExerciseSchema
124
+ def to_expanded_resource_h
117
125
  language_resource_h = language.to_embedded_resource_h if language != guide.language
118
- as_json(only: %i(name layout editor corollary teacher_info manual_evaluation locale
119
- choices assistance_rules randomizations tag_list extra_visible goal
120
- free_form_editor_source initial_state final_state))
126
+ as_json(only: BASIC_RESOURCE_FIELDS)
121
127
  .merge(id: bibliotheca_id, language: language_resource_h, type: type.underscore)
122
128
  .merge(expectations: self[:expectations])
129
+ .merge(custom_expectations: self[:custom_expectations])
123
130
  .merge(settings: self[:settings])
124
131
  .merge(RANDOMIZED_FIELDS.map { |it| [it, self[it]] }.to_h)
125
132
  .symbolize_keys
126
- .compact
127
133
  end
128
134
 
129
135
  def reset!
data/app/models/guide.rb CHANGED
@@ -1,4 +1,9 @@
1
1
  class Guide < Content
2
+ BASIC_RESOURCE_FIELDS = %i(
3
+ authors beta collaborators corollary
4
+ custom_expectations expectations extra id_format
5
+ learn_more private settings sources teacher_info type)
6
+
2
7
  include WithStats,
3
8
  WithExpectations,
4
9
  WithLanguage
@@ -87,14 +92,13 @@ class Guide < Content
87
92
  end
88
93
 
89
94
  # Keep this list up to date with
90
- # Mumukit::Sync::Store::Github::Schema::Guide
91
- def to_resource_h
92
- as_json(only: %i(beta type id_format private expectations corollary teacher_info sources learn_more authors collaborators extra settings))
95
+ # Mumuki::Domain::Store::Github::GuideSchema
96
+ def to_expanded_resource_h
97
+ as_json(only: BASIC_RESOURCE_FIELDS)
93
98
  .symbolize_keys
94
99
  .merge(super)
95
100
  .merge(exercises: exercises.map(&:to_resource_h))
96
101
  .merge(language: language.to_embedded_resource_h)
97
- .compact
98
102
  end
99
103
 
100
104
  def to_markdownified_resource_h
@@ -9,13 +9,14 @@ class Language < ApplicationRecord
9
9
  validates :name, presence: true, uniqueness: {case_sensitive: false}
10
10
 
11
11
  # This list must kept up to date with
12
- # Mumukit::Sync::Store::Thesaurus::InfoConverter
12
+ # Mumuki::Domain::Store::Thesaurus::InfoConverter
13
13
  resource_fields :comment_type,
14
14
  :devicon,
15
15
  :editor_css_urls,
16
16
  :editor_html_urls,
17
17
  :editor_js_urls,
18
18
  :editor_shows_loading_content,
19
+ :expectations,
19
20
  :extension,
20
21
  :feedback,
21
22
  :highlight_mode,
@@ -24,12 +25,12 @@ class Language < ApplicationRecord
24
25
  :layout_js_urls,
25
26
  :layout_shows_loading_content,
26
27
  :multifile,
27
- :settings,
28
28
  :name,
29
29
  :output_content_type,
30
30
  :prompt,
31
31
  :queriable,
32
32
  :runner_url,
33
+ :settings,
33
34
  :stateful_console,
34
35
  :test_extension,
35
36
  :test_template,
data/app/models/topic.rb CHANGED
@@ -33,8 +33,8 @@ class Topic < Content
33
33
  rebuild! resource_h[:lessons].to_a.map { |it| lesson_for(it) }
34
34
  end
35
35
 
36
- def to_resource_h
37
- super.merge(appendix: appendix, lessons: lessons.map(&:slug)).compact
36
+ def to_expanded_resource_h
37
+ super.merge(appendix: appendix, lessons: lessons.map(&:slug))
38
38
  end
39
39
 
40
40
  def as_chapter_of(book)
@@ -0,0 +1,5 @@
1
+ class AddSubmittedAtToAssignments < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :assignments, :submitted_at, :datetime
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveNewExpectations < ActiveRecord::Migration[5.1]
2
+ def change
3
+ remove_column :exercises, :new_expectations, :boolean
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class AddCustomExpectations < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :exercises, :custom_expectations, :text
4
+ add_column :guides, :custom_expectations, :text
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddExpectationsToLanguage < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :languages, :expectations, :boolean
4
+ end
5
+ end
@@ -17,13 +17,13 @@ module Mumuki::Domain::Seed
17
17
 
18
18
  def self.import_main_contents!
19
19
  Mumukit::Sync::Syncer.new(
20
- Mumukit::Sync::Store::Bibliotheca.new(
20
+ Mumuki::Domain::Store::Bibliotheca.new(
21
21
  Mumukit::Platform.bibliotheca_bridge)).import_all! /^#{MAIN_CONTENT_ORGANIZATIONS.join('|')}\/.*$/i
22
22
  end
23
23
 
24
24
  def self.import_languages!
25
25
  Mumukit::Sync::Syncer.new(
26
- Mumukit::Sync::Store::Thesaurus.new(
26
+ Mumuki::Domain::Store::Thesaurus.new(
27
27
  Mumukit::Platform.thesaurus_bridge)).import_all!
28
28
  end
29
29
  end
@@ -1,4 +1,4 @@
1
- module Mumukit::Sync::Store
1
+ module Mumuki::Domain::Store
2
2
 
3
3
  ## This Store enables importing content
4
4
  ## from Bibliotheca API
@@ -1,10 +1,11 @@
1
- module Mumukit::Sync::Store::Github::Schema::Exercise
1
+ module Mumuki::Domain::Store::Github::ExerciseSchema
2
2
  extend Mumukit::Sync::Store::Github::Schema
3
3
 
4
4
  def self.fields_schema
5
5
  [
6
6
  {name: :id, kind: :special},
7
7
  {name: :name, kind: :special},
8
+ {name: :locale, kind: :metadata},
8
9
 
9
10
  {name: :tags, kind: :metadata, reverse: :tag_list, transform: with { |it| it.to_a }},
10
11
  {name: :layout, kind: :metadata},
@@ -17,9 +18,11 @@ module Mumukit::Sync::Store::Github::Schema::Exercise
17
18
  {name: :manual_evaluation, kind: :metadata},
18
19
  {name: :choices, kind: :metadata},
19
20
 
20
- {name: :expectations, kind: :file, extension: 'yml', transform: yaml_list('expectations')},
21
- {name: :assistance_rules, kind: :file, extension: 'yml', transform: yaml_list('rules')},
22
- {name: :randomizations, kind: :file, extension: 'yml', transform: yaml_hash},
21
+ {name: :expectations, kind: :file, extension: 'yml', transform: yaml_list('expectations')},
22
+ {name: :custom_expectations, kind: :file, extension: 'edl'},
23
+ {name: :assistance_rules, kind: :file, extension: 'yml', transform: yaml_list('rules')},
24
+ {name: :randomizations, kind: :file, extension: 'yml', transform: yaml_hash},
25
+ {name: :settings, kind: :file, extension: 'yml', transform: yaml_hash},
23
26
 
24
27
  {name: :goal, kind: :metadata},
25
28
  {name: :test, kind: :file, extension: :test},
@@ -1,4 +1,4 @@
1
- module Mumukit::Sync::Store::Github::Schema::Guide
1
+ module Mumuki::Domain::Store::Github::GuideSchema
2
2
  extend Mumukit::Sync::Store::Github::Schema
3
3
 
4
4
  def self.fields_schema
@@ -17,7 +17,10 @@ module Mumukit::Sync::Store::Github::Schema::Guide
17
17
  {name: :order, kind: :metadata, transform: with { |it| it.map { |e| e[:id] } }, reverse: :exercises},
18
18
  {name: :private, kind: :metadata},
19
19
 
20
- {name: :expectations, kind: :file, extension: 'yml', transform: yaml_list('expectations')},
20
+ {name: :expectations, kind: :file, extension: 'yml', transform: yaml_list('expectations')},
21
+ {name: :custom_expectations, kind: :file, extension: 'edl'},
22
+ {name: :settings, kind: :file, extension: 'yml', transform: yaml_hash},
23
+
21
24
  {name: :description, kind: :file, extension: 'md', required: true},
22
25
  {name: :corollary, kind: :file, extension: 'md'},
23
26
  {name: :sources, kind: :file, extension: 'md'},
@@ -0,0 +1,7 @@
1
+ module Mumuki::Domain::Store
2
+ module Github
3
+ end
4
+ end
5
+
6
+ require_relative './github/exercise_schema'
7
+ require_relative './github/guide_schema'
@@ -1,4 +1,4 @@
1
- module Mumukit::Sync::Store
1
+ module Mumuki::Domain::Store
2
2
 
3
3
  ## This Store enables importing languages
4
4
  ## from Thesaurus API
@@ -17,7 +17,7 @@ module Mumukit::Sync::Store
17
17
  end
18
18
 
19
19
  def transform_after_read(runner_url, info)
20
- Mumukit::Sync::Store::Thesaurus::InfoConverter.new(runner_url, info).call
20
+ Mumuki::Domain::Store::Thesaurus::InfoConverter.new(runner_url, info).call
21
21
  end
22
22
 
23
23
  def write_resource!(*)
@@ -41,12 +41,13 @@ module Mumukit::Sync::Store
41
41
  highlight_mode: @info.dig('language', 'ace_mode'),
42
42
  visible_success_output: @info.dig('language', 'graphic').present?,
43
43
  devicon: @info.dig('language', 'icon', 'name'),
44
- triable: @info.dig('features', 'try').present?,
45
- feedback: @info.dig('features', 'feedback').present?,
46
- queriable: @info.dig('features', 'query').present?,
47
- stateful_console: @info.dig('features', 'stateful').present?,
48
- multifile: @info.dig('features', 'multifile').present?,
49
- settings: @info.dig('features', 'settings').present?,
44
+ expectations: feature_present?('expectations'),
45
+ feedback: feature_present?('feedback'),
46
+ multifile: feature_present?('multifile'),
47
+ queriable: feature_present?('query'),
48
+ settings: feature_present?('settings'),
49
+ stateful_console: feature_present?('stateful'),
50
+ triable: feature_present?('try'),
50
51
  test_extension: @info.dig('test_framework', 'test_extension'),
51
52
  test_template: @info.dig('test_framework', 'template'),
52
53
  layout_js_urls: get_assets_for(:layout, 'js'),
@@ -60,6 +61,10 @@ module Mumukit::Sync::Store
60
61
  }
61
62
  end
62
63
 
64
+ def feature_present?(feature)
65
+ @info.dig('features', feature).present?
66
+ end
67
+
63
68
  def get_assets_for(kind, content_type)
64
69
  absolutize(get_asset_field(kind, content_type) || [])
65
70
  end
@@ -0,0 +1,3 @@
1
+ require_relative './store/thesaurus'
2
+ require_relative './store/bibliotheca'
3
+ require_relative './store/github'
@@ -66,7 +66,7 @@ module Mumuki::Domain::Syncable
66
66
  def locate!(sync_key_id)
67
67
  find_by! sync_key_id_field => sync_key_id
68
68
  rescue ActiveRecord::RecordNotFound
69
- raise ActiveRecord::RecordNotFound, "Coudn't find #{self.name} with #{sync_key_id_field}: #{sync_key_id}"
69
+ raise ActiveRecord::RecordNotFound, "Couldn't find #{self.name} with #{sync_key_id_field}: #{sync_key_id}"
70
70
  end
71
71
 
72
72
  # Locates and imports a resource, extracting
@@ -1,5 +1,5 @@
1
1
  module Mumuki
2
2
  module Domain
3
- VERSION = '7.0.1'
3
+ VERSION = '7.0.2'
4
4
  end
5
5
  end
data/lib/mumuki/domain.rb CHANGED
@@ -7,11 +7,11 @@ require 'mumukit/auth'
7
7
  require 'mumukit/bridge'
8
8
  require 'mumukit/content_type'
9
9
  require 'mumukit/directives'
10
- require 'mumukit/inspection'
11
10
  require 'mumukit/platform'
12
11
  require 'mumukit/randomizer'
13
12
  require 'mumukit/sync'
14
13
  require 'mumukit/login'
14
+ require 'mumukit/inspection'
15
15
 
16
16
  I18n.load_translations_path File.join(__dir__, 'domain', 'locales', '**', '*.yml')
17
17
 
@@ -34,7 +34,7 @@ require_relative './domain/extensions'
34
34
  require_relative './domain/organization'
35
35
  require_relative './domain/helpers'
36
36
  require_relative './domain/syncable'
37
- require_relative './domain/stores'
37
+ require_relative './domain/store'
38
38
 
39
39
  class Mumukit::Assistant
40
40
  def self.valid?(rules)
@@ -42,12 +42,6 @@ class Mumukit::Assistant
42
42
  end
43
43
  end
44
44
 
45
- class Mumukit::Expectation
46
- def self.valid?(expectation)
47
- !!Mumukit::Inspection.parse(expectation['inspection']) rescue false
48
- end
49
- end
50
-
51
45
  class Mumukit::Randomizer
52
46
  def self.valid?(randomizations)
53
47
  !!parse(randomizations) rescue false
@@ -55,6 +49,9 @@ class Mumukit::Randomizer
55
49
  end
56
50
 
57
51
  Mumukit::Sync::Store::Github.configure do |config|
58
- config.guide_schema = Mumukit::Sync::Store::Github::Schema::Guide
59
- config.exercise_schema = Mumukit::Sync::Store::Github::Schema::Exercise
52
+ config.guide_schema = Mumuki::Domain::Store::Github::GuideSchema
53
+ config.exercise_schema = Mumuki::Domain::Store::Thesaurus
60
54
  end
55
+
56
+ Mulang::Inspection.register_extension! Mumukit::Inspection::Css
57
+ Mulang::Inspection.register_extension! Mumukit::Inspection::Source
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mumuki-domain
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.1
4
+ version: 7.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franco Leonardo Bulgarelli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-12 00:00:00.000000000 Z
11
+ date: 2019-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -109,21 +109,35 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0.5'
111
111
  - !ruby/object:Gem::Dependency
112
- name: mumukit-inspection
112
+ name: mumukit-randomizer
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.6'
117
+ version: '1.0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.6'
124
+ version: '1.0'
125
125
  - !ruby/object:Gem::Dependency
126
- name: mumukit-randomizer
126
+ name: mumukit-platform
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '5.1'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '5.1'
139
+ - !ruby/object:Gem::Dependency
140
+ name: mumukit-sync
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
@@ -137,47 +151,61 @@ dependencies:
137
151
  - !ruby/object:Gem::Version
138
152
  version: '1.0'
139
153
  - !ruby/object:Gem::Dependency
140
- name: mumukit-platform
154
+ name: mumukit-login
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '5.1'
159
+ version: '7.0'
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '5.1'
166
+ version: '7.0'
153
167
  - !ruby/object:Gem::Dependency
154
- name: mumukit-sync
168
+ name: mulang
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
171
  - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: '1.0'
173
+ version: '5.0'
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: '1.0'
180
+ version: '5.0'
167
181
  - !ruby/object:Gem::Dependency
168
- name: mumukit-login
182
+ name: mumukit-inspection
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
185
  - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: '7.0'
187
+ version: '5.0'
174
188
  type: :runtime
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: '7.0'
194
+ version: '5.0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: sprockets
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '3.7'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '3.7'
181
209
  - !ruby/object:Gem::Dependency
182
210
  name: pg
183
211
  requirement: !ruby/object:Gem::Requirement
@@ -193,19 +221,19 @@ dependencies:
193
221
  - !ruby/object:Gem::Version
194
222
  version: 0.18.0
195
223
  - !ruby/object:Gem::Dependency
196
- name: mumukit-login
224
+ name: bundler
197
225
  requirement: !ruby/object:Gem::Requirement
198
226
  requirements:
199
227
  - - "~>"
200
228
  - !ruby/object:Gem::Version
201
- version: '7.0'
229
+ version: '2.0'
202
230
  type: :development
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
205
233
  requirements:
206
234
  - - "~>"
207
235
  - !ruby/object:Gem::Version
208
- version: '7.0'
236
+ version: '2.0'
209
237
  description: Mumuki Platform's Domain Model
210
238
  email:
211
239
  - franco@mumuki.org
@@ -555,6 +583,10 @@ files:
555
583
  - db/migrate/20190702003600_add_loading_flags_to_language.rb
556
584
  - db/migrate/20190702182407_add_new_profile_fields.rb
557
585
  - db/migrate/20190724190355_add_settings_to_languages.rb
586
+ - db/migrate/20190905174934_add_submitted_at_to_assignments.rb
587
+ - db/migrate/20190918134321_remove_new_expectations.rb
588
+ - db/migrate/20190918140026_add_custom_expectations.rb
589
+ - db/migrate/20190929180601_add_expectations_to_language.rb
558
590
  - lib/mumuki/domain.rb
559
591
  - lib/mumuki/domain/engine.rb
560
592
  - lib/mumuki/domain/evaluation.rb
@@ -620,11 +652,12 @@ files:
620
652
  - lib/mumuki/domain/status/submission/pending.rb
621
653
  - lib/mumuki/domain/status/submission/running.rb
622
654
  - lib/mumuki/domain/status/submission/submission.rb
623
- - lib/mumuki/domain/stores.rb
624
- - lib/mumuki/domain/stores/bibliotheca_store.rb
625
- - lib/mumuki/domain/stores/exercise_schema.rb
626
- - lib/mumuki/domain/stores/guide_schema.rb
627
- - lib/mumuki/domain/stores/thesaurus_store.rb
655
+ - lib/mumuki/domain/store.rb
656
+ - lib/mumuki/domain/store/bibliotheca.rb
657
+ - lib/mumuki/domain/store/github.rb
658
+ - lib/mumuki/domain/store/github/exercise_schema.rb
659
+ - lib/mumuki/domain/store/github/guide_schema.rb
660
+ - lib/mumuki/domain/store/thesaurus.rb
628
661
  - lib/mumuki/domain/submission.rb
629
662
  - lib/mumuki/domain/submission/base.rb
630
663
  - lib/mumuki/domain/submission/confirmation.rb
@@ -1,4 +0,0 @@
1
- require_relative './stores/thesaurus_store'
2
- require_relative './stores/bibliotheca_store'
3
- require_relative './stores/guide_schema'
4
- require_relative './stores/exercise_schema'