LoginSignup
15
16

More than 5 years have passed since last update.

あなたのRailsアプリはいくら?

Posted at

はじめに

僕はRailsは触ったことがあるけどRubyはほとんど触ったことがなかったので、今回はRubyスクリプトを書いてみた。
※しかもGithubに公開するのも初めて。

・・・と言っても、ここで紹介するのはRubyの事ではなく作ったプログラムの査定についてです。

今作っているプログラムは幾らですか?

プログラムの値段って大体において適当ですよね?
私も適当ですw

そこで、思い立ったのが適当に係数を与えてプログラムを査定すると幾らくらいになるんだろうか?
と今日突然思い立ってこちらのプログラムを作って見ました。

実行方法

このプログラムはスクリプトなのでGithubからクローンして実行してください。

$ ruby how_much.rb rails_root_path [output_folder]

こんな感じで出力されます。

スクリーンショット 2015-12-16 17.57.00.png

設定ファイルで自由に係数を変えれます。

config/app.ymlに値段の元となる係数などを定義していますので、プロジェクトに合わせて金額をつけてください。

# アプリケーションに関する設定内容
app:

  # 基本設定
  base:
    # 対象外にするフォルダ
    # ※外部から持ってきたフォルダは対象外にすると正確になる。
    ignore_dir:
      - .git
      - tmp
      - log
      - test
      - vendor
      - .idea

    # 対象外にするファイル
    ignore_file:
      - bootstrap.js
      - bootstrap.min.js
      - schema.rb

    # デバッグフラグ
    debug: false

  # 解析するプログラム単位での設定
  program:
    # 基本設定
    base:
      # ファイル一つに対する金額
      file_price: 800

      # 一行毎に発生する金額(円)
      line:
        # 通常行の値段
        line_price: 100
        # 制御処理行の値段
        proc_line_price: 300
        # コメント行の値段
        comment_line_price: 50

      # メソッドに発生する値段(円)
      method:
        price: 500
        # メソッド行数が長い場合に発生するペナルティ(コメントは含まず)
        max_line: 20
        # メソッド行数が長い場合に引かれる金額(通常の値段は別途入ります。)
        # 設定行が長い場合は相殺されるので丁度良いかと。
        max_line_over_price: -90

    # Ruby設定(baseと同じ)
    ruby:

    # Migrate設定
    migrate:
      # ファイル一つに対する金額
      file_price: 2000
...

パーサー

model配下にパーサー(と呼んでい良いのか微妙なもの)があるので、プログラムに合わせて追加する事ができます。

もちろんプルリク大歓迎です!

プログラムの説明について

惰性で作ったプログラムなので、、、説明するほどの事はないですが・・・
ストック数が多かったら別記事で説明します!

筆者について

筆者はTownSoftで活動している個人事業主です。
お仕事引き受けます!

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16