import os


class AppConfig:
    """
    アプリケーション設定を管理するクラス
    環境変数ENVから環境を取得し、適切な設定を提供する
    """
    
    def __init__(self):
        # 環境変数ENVから環境を取得（デフォルト: staging）
        self.environment = os.getenv('ENV', 'staging')
    
    def get_environment(self):
        """現在の環境を取得"""
        return self.environment
    
    def is_production(self):
        """本番環境かどうかを判定"""
        return self.environment == 'production'
    
    def is_staging(self):
        """ステージング環境かどうかを判定"""
        return self.environment == 'staging'
    
    def get_subprocess_env(self):
        """
        サブプロセス実行用の環境変数辞書を取得
        現在の環境変数をコピーしてENVを設定
        """
        env = os.environ.copy()
        env['ENV'] = self.environment
        return env


# グローバルな設定インスタンス
app_config = AppConfig()