manasimu 0.0.18 → 0.0.19
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 +4 -4
- data/lib/manasimu/card.rb +5 -0
- data/lib/manasimu/data.rb +56 -5
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e68620e31c2457a6e73a328d618a708432713016a79118e175f0c77c47c456b9
         | 
| 4 | 
            +
              data.tar.gz: 9851897aa3c43335cb97327814a51a6bf2621b27efc2d276b48550c10e8136bf
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0ec616b06ad9394bf1554bc9788c0de48d7fc18aa903426b9aff8bf2383facf61f5f5e2c6c0e52ef3c99c10cf38a73925d46554650c23d2efec3ac2173fed2f8
         | 
| 7 | 
            +
              data.tar.gz: 0e6fe28bef43f07c087eb10819a72e73bc2723f5d9d5d805b7f111ae31e3d56474cae958b347f51224152884a0040ecd2ad67c43b2e84764f94cc3a445ae25b4
         | 
    
        data/lib/manasimu/card.rb
    CHANGED
    
    
    
        data/lib/manasimu/data.rb
    CHANGED
    
    | @@ -60,16 +60,67 @@ class Deck | |
| 60 60 | 
             
                result
         | 
| 61 61 | 
             
              end
         | 
| 62 62 |  | 
| 63 | 
            -
              def self. | 
| 63 | 
            +
              def self.card_types
         | 
| 64 64 | 
             
                path = File.expand_path( '../../../db/card_type_aggregate', __FILE__ )
         | 
| 65 65 | 
             
                @@card_types ||= Marshal.load(File.open(path, 'r'))
         | 
| 66 | 
            +
              end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
              def self.find_card_types(lines)
         | 
| 69 | 
            +
                types = card_types.map do |a| a end
         | 
| 70 | 
            +
                types.sort! do |a,b| a.name <=> b.name end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                distinct_types = []
         | 
| 73 | 
            +
                types.each do |type|
         | 
| 74 | 
            +
                  next if distinct_types[-1] and distinct_types[-1].name == type.name
         | 
| 75 | 
            +
                  type.name.downcase!
         | 
| 76 | 
            +
                  distinct_types << type
         | 
| 77 | 
            +
                end
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                ret = []
         | 
| 80 | 
            +
                lines.each do |line|
         | 
| 81 | 
            +
                  line.chomp!.downcase!
         | 
| 82 | 
            +
                  search_type = distinct_types.bsearch do |type|
         | 
| 83 | 
            +
                    name = type.name
         | 
| 84 | 
            +
                    flag = true
         | 
| 85 | 
            +
                    name.chars.each_with_index do |nc,i|
         | 
| 86 | 
            +
                      if line.length > i
         | 
| 87 | 
            +
                        lc = line.chars[i]
         | 
| 88 | 
            +
                        if nc > lc
         | 
| 89 | 
            +
                          flag = true
         | 
| 90 | 
            +
                          break
         | 
| 91 | 
            +
                        elsif nc < lc
         | 
| 92 | 
            +
                          flag = false
         | 
| 93 | 
            +
                          break
         | 
| 94 | 
            +
                        else
         | 
| 95 | 
            +
                          # continue
         | 
| 96 | 
            +
                        end
         | 
| 97 | 
            +
                      else
         | 
| 98 | 
            +
                        flag = true
         | 
| 99 | 
            +
                        break
         | 
| 100 | 
            +
                      end
         | 
| 101 | 
            +
                    end
         | 
| 102 | 
            +
                    flag
         | 
| 103 | 
            +
                  end
         | 
| 104 | 
            +
                  if search_type
         | 
| 105 | 
            +
                    a = search_type.name
         | 
| 106 | 
            +
                    if line =~ /^#{a}.*$/ and a != 'x'
         | 
| 107 | 
            +
                      ret << search_type
         | 
| 108 | 
            +
                    end
         | 
| 109 | 
            +
                  end
         | 
| 110 | 
            +
                end
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                ret.sort! do |a,b| a.mana_cost <=> b.mana_cost end
         | 
| 113 | 
            +
                ret.uniq!
         | 
| 114 | 
            +
              end
         | 
| 115 | 
            +
             | 
| 116 | 
            +
              def self.get_card_details(deck_items)
         | 
| 66 117 | 
             
                cards = []
         | 
| 67 118 | 
             
                card_id = 0
         | 
| 68 | 
            -
                 | 
| 119 | 
            +
                clone_card_types = []
         | 
| 69 120 | 
             
                deck_items.each do |deck_item|
         | 
| 70 | 
            -
                  card_type =  | 
| 121 | 
            +
                  card_type = card_types.find(deck_item[:set], deck_item[:setnum])
         | 
| 71 122 | 
             
                  clone = CardType.create(card_type, deck_item[:name])
         | 
| 72 | 
            -
                   | 
| 123 | 
            +
                  clone_card_types << clone
         | 
| 73 124 | 
             
                  if clone.is_land?
         | 
| 74 125 | 
             
                    if clone.name =~ /.*Pathway$/
         | 
| 75 126 | 
             
                      card = PathwayCard.new(clone)
         | 
| @@ -99,6 +150,6 @@ class Deck | |
| 99 150 | 
             
                    cards << card_clone
         | 
| 100 151 | 
             
                  end
         | 
| 101 152 | 
             
                end
         | 
| 102 | 
            -
                [cards,  | 
| 153 | 
            +
                [cards, clone_card_types]
         | 
| 103 154 | 
             
              end
         | 
| 104 155 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: manasimu
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.19
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - so1itaryrove
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-05- | 
| 11 | 
            +
            date: 2022-05-28 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: mtg arrena mana curve simulator
         | 
| 14 14 | 
             
            email: so1itaryrove@gmail.com
         |