Sha256: f752c59bcbcd0dc89bb7288aa6a54b053586cea2b4b1b314f4e7cefe0cbae903

Contents?: true

Size: 523 Bytes

Versions: 1

Compression:

Stored size: 523 Bytes

Contents

# frozen_string_literal: true

require 'declare_schema'

module GitModels
  module Repository
    extend ActiveSupport::Concern

    included do
      fields do
        name    :string, limit: 255, null: false

        timestamps
      end

      validates :name, uniqueness: true

      has_many :branches, class_name: 'Branch', dependent: :destroy
    end

    class_methods do
      def create!(name)
        branch = where(name: name).first_or_initialize
        branch.save!
        branch
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
git_models-1.3.1 app/models/concerns/repository.rb