acts_as_learnable 0.1.2 → 0.2.0
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 +5 -5
- data/README.md +1 -11
- data/acts_as_learnable.gemspec +2 -2
- data/lib/acts_as_learnable/base.rb +2 -3
- data/lib/acts_as_learnable/version.rb +1 -1
- data/lib/acts_as_learnable.rb +1 -3
- data/lib/generators/flashcard/flashcard_generator.rb +2 -2
- metadata +10 -12
- data/.travis.yml +0 -5
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: 6e65eaf9f25b641df9f9377c40997cadfeec15a64d28686c84ae1c1cb37d44e8
         | 
| 4 | 
            +
              data.tar.gz: 5b76d804d68b1e557580b044cd56e93866aa5720544c5867b68be9ded5fd9a45
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fd561ac48b1c65675addbda453947414e7d063a2d1defc67fbf096658626334576dc36cdb0b125d8ce3b282eb2c918c98649bb260496d07d419c7a418bfe0db1
         | 
| 7 | 
            +
              data.tar.gz: 8548a28b5433b4a7a7f0c1bac89377026a9cdcc94b43747ce631e01463fb04062c002f491100d3f58f9b89c37a4bb649a4baaec5ad5b9e5ffed39cc30dcffeeb
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,10 +1,5 @@ | |
| 1 1 | 
             
            # ActsAsLearnable
         | 
| 2 2 |  | 
| 3 | 
            -
            [](https://travis-ci.org/dankimio/acts_as_learnable)
         | 
| 4 | 
            -
            [](https://rubygems.org/gems/acts_as_learnable)
         | 
| 5 | 
            -
            [](https://dankimio.mit-license.org)
         | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 3 | 
             
            ActsAsLearnable is a Ruby gem for ActiveRecord models. It provides a simple way to create flashcards in your app. It automatically schedules flashcards for review depending on recall quality (1 to 5). You can easily create a Spaced Repetition System (SRS) using this gem. Flashcards are scheduled using SuperMemo 2 algorithm.
         | 
| 9 4 |  | 
| 10 5 | 
             
            ## Installation
         | 
| @@ -54,13 +49,8 @@ card.repetitions # => 1 | |
| 54 49 |  | 
| 55 50 | 
             
            ## Contributing
         | 
| 56 51 |  | 
| 57 | 
            -
            1. Fork it ( https://github.com/ | 
| 52 | 
            +
            1. Fork it ( https://github.com/dankimio/acts_as_learnable/fork )
         | 
| 58 53 | 
             
            2. Create your feature branch (`git checkout -b my-new-feature`)
         | 
| 59 54 | 
             
            3. Commit your changes (`git commit -am 'Add some feature'`)
         | 
| 60 55 | 
             
            4. Push to the branch (`git push origin my-new-feature`)
         | 
| 61 56 | 
             
            5. Create a new Pull Request
         | 
| 62 | 
            -
             | 
| 63 | 
            -
            ## TODO
         | 
| 64 | 
            -
             | 
| 65 | 
            -
            - [ ] More detailed README
         | 
| 66 | 
            -
            - [ ] Other repetition algorithms (Anki)
         | 
    
        data/acts_as_learnable.gemspec
    CHANGED
    
    | @@ -18,8 +18,8 @@ Gem::Specification.new do |spec| | |
| 18 18 | 
             
              spec.test_files    = spec.files.grep(%r{^(test)/})
         | 
| 19 19 | 
             
              spec.require_paths = ['lib']
         | 
| 20 20 |  | 
| 21 | 
            -
              spec.add_dependency 'activerecord', '>=  | 
| 22 | 
            -
              spec.add_dependency 'activesupport', '>=  | 
| 21 | 
            +
              spec.add_dependency 'activerecord', '>= 5.2'
         | 
| 22 | 
            +
              spec.add_dependency 'activesupport', '>= 5.2'
         | 
| 23 23 |  | 
| 24 24 | 
             
              spec.add_development_dependency 'bundler'
         | 
| 25 25 | 
             
              spec.add_development_dependency 'rake'
         | 
| @@ -15,7 +15,7 @@ module ActsAsLearnable | |
| 15 15 |  | 
| 16 16 | 
             
              module InstanceMethods
         | 
| 17 17 | 
             
                def review(recall_quality)
         | 
| 18 | 
            -
                   | 
| 18 | 
            +
                  raise unless (1..5).include?(recall_quality)
         | 
| 19 19 |  | 
| 20 20 | 
             
                  # If the quality of response was lower than 3, then start repetitions from the beginning
         | 
| 21 21 | 
             
                  reset and return if recall_quality <= 2
         | 
| @@ -65,13 +65,12 @@ module ActsAsLearnable | |
| 65 65 |  | 
| 66 66 | 
             
                # Update interval according to the formula
         | 
| 67 67 | 
             
                def update_interval
         | 
| 68 | 
            -
                  # TODO: Extract magic numbers
         | 
| 69 68 | 
             
                  self.interval =
         | 
| 70 69 | 
             
                    case repetitions
         | 
| 71 70 | 
             
                    when 1 then 1
         | 
| 72 71 | 
             
                    when 2 then 6
         | 
| 73 72 | 
             
                    else
         | 
| 74 | 
            -
                       | 
| 73 | 
            +
                      (repetitions - 1) * easiness_factor
         | 
| 75 74 | 
             
                    end
         | 
| 76 75 | 
             
                end
         | 
| 77 76 |  | 
    
        data/lib/acts_as_learnable.rb
    CHANGED
    
    | @@ -3,7 +3,5 @@ require 'acts_as_learnable/base' | |
| 3 3 |  | 
| 4 4 | 
             
            module ActsAsLearnable
         | 
| 5 5 | 
             
              # Extend ActiveRecord if defined
         | 
| 6 | 
            -
              if defined?(ActiveRecord::Base)
         | 
| 7 | 
            -
                ActiveRecord::Base.extend(ActsAsLearnable::Base)
         | 
| 8 | 
            -
              end
         | 
| 6 | 
            +
              ActiveRecord::Base.extend(ActsAsLearnable::Base) if defined?(ActiveRecord::Base)
         | 
| 9 7 | 
             
            end
         | 
| @@ -6,10 +6,10 @@ class FlashcardGenerator < ActiveRecord::Generators::Base | |
| 6 6 |  | 
| 7 7 | 
             
              desc 'This generator creates a migration file with flashcard fields.'
         | 
| 8 8 |  | 
| 9 | 
            -
              source_root File.expand_path(' | 
| 9 | 
            +
              source_root File.expand_path('templates', __dir__)
         | 
| 10 10 |  | 
| 11 11 | 
             
              def install_flashcards
         | 
| 12 | 
            -
                if schema_exists? && File.read("#{destination_root}/db/schema.rb") =~ /create_table  | 
| 12 | 
            +
                if schema_exists? && File.read("#{destination_root}/db/schema.rb") =~ /create_table "#{table_name}"/
         | 
| 13 13 | 
             
                  migration_template('add_fields_migration.rb', "db/migrate/add_flashcard_fields_to_#{table_name}.rb")
         | 
| 14 14 | 
             
                else
         | 
| 15 15 | 
             
                  migration_template('create_table_migration.rb', "db/migrate/create_#{table_name}.rb")
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: acts_as_learnable
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Dan Kim
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-07-08 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activerecord
         | 
| @@ -16,28 +16,28 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - ">="
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: ' | 
| 19 | 
            +
                    version: '5.2'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - ">="
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: ' | 
| 26 | 
            +
                    version: '5.2'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: activesupport
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - ">="
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: ' | 
| 33 | 
            +
                    version: '5.2'
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - ">="
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: ' | 
| 40 | 
            +
                    version: '5.2'
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: bundler
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -105,7 +105,6 @@ extensions: [] | |
| 105 105 | 
             
            extra_rdoc_files: []
         | 
| 106 106 | 
             
            files:
         | 
| 107 107 | 
             
            - ".gitignore"
         | 
| 108 | 
            -
            - ".travis.yml"
         | 
| 109 108 | 
             
            - Gemfile
         | 
| 110 109 | 
             
            - LICENSE.txt
         | 
| 111 110 | 
             
            - README.md
         | 
| @@ -123,7 +122,7 @@ homepage: https://github.com/itsdn/acts_as_learnable | |
| 123 122 | 
             
            licenses:
         | 
| 124 123 | 
             
            - MIT
         | 
| 125 124 | 
             
            metadata: {}
         | 
| 126 | 
            -
            post_install_message: | 
| 125 | 
            +
            post_install_message:
         | 
| 127 126 | 
             
            rdoc_options: []
         | 
| 128 127 | 
             
            require_paths:
         | 
| 129 128 | 
             
            - lib
         | 
| @@ -138,9 +137,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 138 137 | 
             
                - !ruby/object:Gem::Version
         | 
| 139 138 | 
             
                  version: '0'
         | 
| 140 139 | 
             
            requirements: []
         | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
            signing_key: 
         | 
| 140 | 
            +
            rubygems_version: 3.3.7
         | 
| 141 | 
            +
            signing_key:
         | 
| 144 142 | 
             
            specification_version: 4
         | 
| 145 143 | 
             
            summary: A simple way to create flashcards in your app.
         | 
| 146 144 | 
             
            test_files:
         |